C# 模拟web get请求、post请求
get请求:
#regionget请求///<summary>///get请求///</summary>///<paramname="Url">请求地址</param>///<paramname="postDataStr">请求参数</param>///<returns></returns>publicstaticstringHttpGet(stringUrl,stringpostDataStr){HttpWebRequestrequest=(HttpWebRequest)WebRequest.Create(Url+(postDataStr==""?"":"?")+postDataStr);request.Method="GET";request.ContentType="text/html;charset=UTF-8";#region获取网页内容太大的话,就加下面这两句代码request.Headers["Accept-Encoding"]="gzip,deflate";request.AutomaticDecompression=DecompressionMethods.GZip;#endregionHttpWebResponseresponse=(HttpWebResponse)request.GetResponse();StreammyResponseStream=response.GetResponseStream();StreamReadermyStreamReader=newStreamReader(myResponseStream,Encoding.GetEncoding("utf-8"));stringretString=myStreamReader.ReadToEnd();myStreamReader.Close();myResponseStream.Close();returnretString;}#endregion
post请求:
#region模拟Post提交///<summary>///通过POST方式发送数据///</summary>///<paramname="url">请求URL</param>///<paramname="json">请求参数</param>///<returns></returns>publicstaticstringHttpPost(stringurl,stringstrXML){try{Encodingencoding=Encoding.GetEncoding("UTF-8");HttpWebRequestrequest=(HttpWebRequest)WebRequest.Create(newUri(url));byte[]buffer;buffer=encoding.GetBytes(strXML);request.Method="Post";request.UserAgent="Mozilla/5.0(WindowsNT6.1)AppleWebKit/537.36(KHTML,likeGecko)Chrome/34.0.1847.137Safari/537.36LBBROWSER";request.ContentType="application/json;charset=UTF-8";//application/x-www-form-urlencoded;charset=UTF-8request.Accept="text/html,application/xhtml+xml,application/xml;q=0.9,p_w_picpath/webp,*/*;q=0.8";request.Referer="http://www.aramex.com/express/track-results.aspx";request.ContentLength=buffer.Length;StreampostStream=request.GetRequestStream();postStream.Write(buffer,0,buffer.Length);postStream.Close();HttpWebResponseresponse=(HttpWebResponse)request.GetResponse();//返回信息StreamReaderreader=newStreamReader(response.GetResponseStream(),Encoding.GetEncoding("UTF-8"));stringstrResponse=reader.ReadToEnd();reader.Close();response.Close();returnstrResponse;}catch(Exceptionex){returnex.Message;}}#endregion
详解请参考:http://www.crifan.com/set_accept_encoding_header_to_gzip_deflate_return_messy_code/
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。