首頁  >  文章  >  後端開發  >  使用其他編碼參數的get請求方法

使用其他編碼參數的get請求方法

小云云
小云云原創
2018-02-26 13:37:291677瀏覽

向網站發送參數讀取結果的小程式的時候遇到了問題,網站是用get方式傳送查詢參數的,但是我按照網站的格式發送參數查詢的結果一直是空的,用fiddle抓包發現網站發送的參數不是UTF-8編碼的URLENCODE,而是直接把GBK編碼的字元傳送到了伺服器。找了好久沒找到解決辦法,找到了參考的一個很有用的文章點擊打開鏈接,稍微改動一下發送請求的方式解決了,自己記錄一下。

http的請求本質上也是發送位元組流,所以可以用socket取代c#中的httpwebrequest\response來實作:

發送請求:

public void SendRequest(string server,string requestString,Encoding e){
Uri u= new Uri(server);
Socket s=new Socket(AddressFamily.InternetNetwork, SocketType.Stream, ProtocolType.Tcp);
s.SendTimeout=3000;
s.ReceiveTimeout=3000;
s.Connect(u.Host,u.Port);
if(s.Connected)    {
s.Send(e.GetBytes(s),SocketFlags.None);
System.Threding.Thread.Sleep(1000);//等待1秒确保数据发送完成,我的请求比较简单,复杂的也可以判断数据发送完成再处理。。。

處理接收的部分可以參考上面說的文章,主要是chunked資料的接收處理需要特別處理。

相關推薦:

get請求傳特殊符號的問題

有關get請求的實例教學

微信小程式網路請求(GET請求)詳細說明

以上是使用其他編碼參數的get請求方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn