
Originariamente inviato da
Sn0rky
no no, il codice gira giusto!
..... sei sicuro al 100% ??
Sinceramente di errori ne ho trovati un po', per cui ho deciso di buttare via il tuo codice e di riscriverlo, e adesso a me funziona tutto perfettamente.
Ogni tanto bisogna non fossilizzarsi su cose che pensiamo siano giuste.
Ad esempio, con i dati che mi hai comunicato, a me risponde:
{"GEOMETRIA":["{ \"type\": \"Polygon\", \"coordinates\": [ [ [13.6555608, 42.2074159], [13.6558488, 42.2074159], [13.6558488, 42.2078628], [13.6555608, 42.2078628], [13.6555608, 42.2074159] ] ] }"]}
Ho creato un form, ci ho messo una picturebox chiamata TokenPB e una label chiamata Label1 ed eccoti il codice completo, provalo
Imports System.Net
Imports System.IO
Imports System.Text.RegularExpressions
Public Class Form1
Dim cc As New CookieContainer
Private Function GetTxtFromHttp(ByVal link As String) As String
Dim req = DirectCast(WebRequest.Create(link), HttpWebRequest)
req.CookieContainer = cc
Dim res = req.GetResponse()
Dim ResStream = res.GetResponseStream()
Dim reader = New StreamReader(ResStream)
Dim txt = reader.ReadToEnd()
reader.Close()
ResStream.Close()
res.Close()
req = Nothing
Return txt
End Function
Private Function GetImageFromHttp(ByVal link As String, Optional ByVal referer As String = "") As Image
Dim req = DirectCast(WebRequest.Create(link), HttpWebRequest)
req.CookieContainer = cc
Dim res = req.GetResponse()
Dim ResStream = res.GetResponseStream()
Dim img = System.Drawing.Image.FromStream(ResStream)
ResStream.Close()
res.Close()
req = Nothing
Return img
End Function
Private Sub Form1_Shown(sender As Object, e As System.EventArgs) Handles Me.Shown
Dim PageUrl As String = "https://geoportale.cartografia.agenziaentrate.gov.it/age-inspire/srv/ita/Captcha?type=image&lang=it"
TokenPB.Image = GetImageFromHttp(PageUrl)
TokenPB.Visible = True
Dim stringa = GetTxtFromHttp(String.Format("https://geoportale.cartografia.agenziaentrate.gov.it/age-inspire/srv/ita/Captcha?type=check&captcha={0}", InputBox("Inserisci il CAPTCHA", "Inserisci il CAPTCHA")))
Dim reg = Regex.Match(stringa, """token"":""(.*?)""")
Dim TOKEN = ""
If reg.Success Then
TOKEN = reg.Groups(1).Value
Else
' .... gestione errore
End If
TokenPB.Visible = False
Dim PROV = "AQ"
Dim COD_COM = "A018"
Dim FOGLIO = "1"
Dim PART = "00002"
Dim urlAddress As String = String.Format("https://wms.cartografia.agenziaentrate.gov.it/inspire/ajax/ajax.php?op=getGeomPart&prov={0}&cod_com={1}&foglio={2}&num_part={3}&tkn={4}", PROV, COD_COM, FOGLIO, PART, TOKEN)
Dim txt = GetTxtFromHttp(urlAddress)
Label1.Text = txt
End Sub
End Class