私は、ファイルに保存したクッキーを使用してこの要求を実行したい動作しません(私はページへの他の要求を実行することができますので、クッキーが優れています)、最後のパラメータは空にする必要があります。 ブラウザで開くとjsonのデータが表示されます(彼らの見た目に関係なく) vb.netアプリケーションで同じリクエストを実行しようとすると、別のページにリダイレクトされます。ここ は、VBのコードです:POSTリクエストが正常に
Dim postData As String = "com=event&t=recordSignInShare&fb_id=197203087314503_251208398580638&code="
Dim bytes() As Byte = ASCIIEncoding.UTF8.GetBytes(postData)
Dim postReq As HttpWebRequest = WebRequest.Create("http://www.banggood.com/index.php")
postReq.Method = "POST"
postReq.KeepAlive = True
postReq.CookieContainer = cookies
'postReq.ContentType = "application/x-www-form-urlencoded; charset=UTF-8"
postReq.Referer = "http://www.banggood.com/"
postReq.UserAgent = "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.87 Safari/537.36"
postReq.ContentLength = bytes.Length
Dim postStream As Stream = postReq.GetRequestStream()
postStream.Write(bytes, 0, bytes.Length)
postStream.Close()
Dim postResponse As HttpWebResponse
postResponse = postReq.GetResponse()
cookies.Add(postResponse.Cookies)
Dim reader As New StreamReader(postResponse.GetResponseStream())
Dim strSource As String = reader.ReadToEnd
Return strSource
そして、それは、HTMLコードではなく、JSONデータを私に返し:(
これは私がブラウザ リクエストによってそれを開いたときにネットワークモニタからの要求がどのように見えるかです:
Accept:application/json, text/javascript, */*; q=0.01
Accept-Encoding:gzip, deflate, sdch
Accept-Language:pl-PL,pl;q=0.8,en-US;q=0.6,en;q=0.4
Connection:keep-alive
Host:www.banggood.com
Referer:http://www.banggood.com/2016midyear.html?utmid=796
User-Agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.84 Safari/537.36
X-Requested-With:XMLHttpRequest
応答: のCache-Control:最大エージング= 0、キャッシュなし、無店舗 接続:キープアライブ のContent-Length:94 のContent-Type :text/html; charset = utf-8 元の(コードからの)リクエスト/レスポンスヘッダーは、ブラウザでこのリンクを開くだけで適切に実行できるので、重要ではないと思います。
、それはGETしませPOSTありません。 –
私は知っているが、取得した他のリクエストは、私は投稿を使用し、彼らは働いた。私はあなたのアイデアを確認します – kaska3er
あなたがそれを試してみるときに、情報をクエリー・ストリング(URLの一部)として送ってください。 –