DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
Altın Üyelik Hakkında Bilgi
Teşekkür ederim.Benim yazdığım kodlarda gerekli düzenlemeyi yapabilirmisiniz?https://support.microsoft.com/tr-tr/help/290899/bug-xmlhttp-fails-to-send-cookies-from-a-client
şuraya bir göz atabilir misiniz
Sağlık olsun.Çok isterdim vb.net yüklü değil![]()
Dim request As New Net.WebClient
AddHandler request.DownloadStringCompleted, Sub(objSender As Object, message As DownloadStringCompletedEventArgs)
HTML.body.innerHTML = message.Result
End Sub
request.DownloadStringAsync(New Uri("http://..."))
Teşekkür ederim hocam.Sanırım HTML de sorun var.Ben yanlış yazdım sanırım.Çünkü HTML kelimesinin üstünü açık mavi yapmış.Yapmaya çalışıcam.Burada bir prosedür var.O ayrı bir prosedür diilmi hocam.Bunu buton click olayı içinemi yazcaz.Yoksa ayrı bir prosedürmü olacak.Problemin HTTP mi, yoksa HTML nesnesinde mi olduğu pek anlayamadım. COM nesneleri bazen problem çıkaratabiliyor.
Aşağıdaki gibi kullanın; bakalım durum ne olacak... (Buton click altına yapıştırılacak)
C#:Dim request As New Net.WebClient AddHandler request.DownloadStringCompleted, Sub(objSender As Object, message As DownloadStringCompletedEventArgs) HTML.body.innerHTML = message.Result End Sub request.DownloadStringAsync(New Uri("http://..."))
Merhaba beab05 hocam.Teşekkür ederim.Merhaba;
Evren bey, siz o siteden hangi verileri almak istiyorsunuz? Amacınız html dom verilerini parse etmekse ve Vb.net kullanıyorsanız create.objecte gerek var mı?
webclient veya httpwebrequest ile html response yi alın ve ister regexp ile isterseniz "Html Agility Pack " gibi harika bir 3.parti eklentiyle ilgili html dom verilerini almayı deneyin.
Ütelik requestlerinizde header'a user-agent, referer gibi özellikleri atayabilirsiniz.
Alttaki gibi en kestirme yoldan olabilir. Basit bir if.. then.. yeter..Teşekkür ederim hocam.
Sadece dolar ve altın verisini alsaydım,nasıl bir değişiklik yapacaktım?
Private Sub BtnVeriAl_Click(sender As Object, e As EventArgs) Handles BtnVeriAl.Click
Dim Verilerim As New List(Of Veriler)
Dim anaurl As String = "https://yorum.altin.in/tum/dolar"
Dim veriDom As String = "//div[@class='odee']//div"
Using wd As New WebClient With {.Encoding = Encoding.Default}
Dim istek = wd.DownloadString(anaurl)
Dim doc As New HtmlDocument()
doc.LoadHtml(istek)
Dim col As HtmlNodeCollection = doc.DocumentNode.SelectNodes(veriDom)
For Each bb As HtmlNode In col
Dim childs = bb.ChildNodes
Dim IstedigimVeri = childs("h1").InnerText.ToString
'Burada sadece altın ve usd yi aldık. Tabii çok statik bir yöntem. Siz kendiniz bunu geliştirmelisiniz.
If IstedigimVeri.Equals("ALTIN ONS") Or IstedigimVeri.Equals("USD/TL") Then
Verilerim.Add(New Veriler With {.Isim = childs("h1").InnerText, .Deger = childs("h2").InnerText,
.Zaman = childs("font").InnerText})
End If
Next
GrdSite.DataSource = Verilerim
End Using
End Sub
Anladım hocam.Yalnız unutmayın;
Web sitelerinden veri aldığınızda ilgili sitelerde yapılan değişkliklerde ki çok sık yapılabilir sizin uygulamalarınız da çalışmaz hale egelebilir. Bu bakımdan ya istediğiniz verileri veren bir api bulun ya da kendiniz sunucuda çalışan istediğiniz verileri döndüren bir web service yazın.
If objHTTP.Status = 200 Then
HTMLfile.Open
HTMLfile.Close
HTMLfile.Body.innerHTML = objHTTP.responseText
Label3.Text = HTMLfile.getelementById("sabitDolar").innerText
Label4.Text = HTMLfile.getelementById("sabitEuro").innerText
Else
MsgBox("Problem var ...!")
End If
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim URL As String
Dim objHTTP As Object, HTMLfile As Object
URL = "https://yorum.altin.in/tum/dolar"
objHTTP = CreateObject("MSXML2.XMLHTTP")
objHTTP.Open("GET", URL, False)
objHTTP.Send
HTMLfile = CreateObject("HTMLFILE")
If objHTTP.Status = 200 Then
HTMLfile.Open
HTMLfile.Write("<body></body>")
HTMLfile.Close
HTMLfile.Body.innerHTML = objHTTP.responseText
Label3.Text = HTMLfile.getelementById("sabitDolar").innerText
Label4.Text = HTMLfile.getelementById("sabitEuro").innerText
Else
MsgBox("Problem var ...!")
End If
End Sub