首页 / 知识
post提交获得html页面源码的实现代码
2023-04-11 15:11:00
///<summary>///获得页面的html源码主要用于后台生成静态文件时获得源码///</summary>///<paramname="url"></param>///<returns></returns>publicstaticstringGetPageHTML(stringurl)
{
stringhttpString=string.Empty;
WebRequestrequest=WebRequest.Create(url);
request.Timeout=200000;
using(HttpWebResponseresponse=(HttpWebResponse)request.GetResponse())
{
if(response.StatusDescription.ToLower().Equals("ok"))
{
using(StreamReaderwriter=newStreamReader(response.GetResponseStream(),Encoding.GetEncoding("GB2312")))
{
httpString=writer.ReadToEnd();
}
}
}
returnhttpString;
}
///<summary>///获得页面的html源码主要用于后台生成静态文件时获得源码UTF-8///</summary>///<paramname="url"></param>///<returns></returns>publicstaticstringGetPageHTMLUTF8(stringurl)
{
stringhttpString=string.Empty;
WebRequestrequest=WebRequest.Create(url);
request.Timeout=200000;
using(HttpWebResponseresponse=(HttpWebResponse)request.GetResponse())
{
if(response.StatusDescription.ToLower().Equals("ok"))
{
using(StreamReaderwriter=newStreamReader(response.GetResponseStream(),Encoding.GetEncoding("UTF-8")))
{
httpString=writer.ReadToEnd();
}
}
}
returnhttpString;
}
///<summary>///post提交JSON数据。支持.net4.0及以下的版本///</summary>///<paramname="url"></param>///<paramname="json"></param>///<returns></returns>publicstaticstringGetHtmlByJson(stringurl,stringjson="")
{
varresult=string.Empty;
try{
varrequest=WebRequest.Create(url)asHttpWebRequest;
request.ContentType="text/json";
request.Method="post";
//request.CookieContainer=_cookie;
using(varstreamWriter=newStreamWriter(request.GetRequestStream()))
{
streamWriter.Write(json);
streamWriter.Flush();
streamWriter.Close();
varresponse=(HttpWebResponse)request.GetResponse();
using(varreader=newStreamReader(response.GetResponseStream()))
{
result=reader.ReadToEnd();
}
}
}
catch(UriFormatExceptionuex)
{
//出错处理}
returnresult;
}
///<summary>///利用WebClient远程POST数据并返回数据///</summary>///<paramname="strUrl">远程URL地址</param>///<paramname="strParams">参数,要提交的JSON字符串</param>///<paramname="RespEncode">POST数据的编码</param>///<paramname="ReqEncode">获取数据的编码</param>///<returns></returns>publicstaticstringPostData(stringstrUrl,stringstrParams,EncodingRespEncode,EncodingReqEncode)
{
/***本函数只支持.net4.5以上的框架HttpClienthttpclient=newHttpClient();try{//打开页面httpclient.Credentials=CredentialCache.DefaultCredentials;//从指定的URI下载资源byte[]responseData=httpclient.DownloadData(strUrl);stringsrcString=RespEncode.GetString(responseData);
httpclient.Headers.Add("Content-Type","application/x-www-form-urlencoded");stringpostString=strParams;//将字符串转换成字节数组byte[]postData=Encoding.ASCII.GetBytes(postString);//上传数据,返回页面的字节数组responseData=httpclient.UploadData(strUrl,"POST",postData);srcString=ReqEncode.GetString(responseData);
returnsrcString;}catch(Exceptionex){//记录异常日志//释放资源httpclient.Dispose();returnstring.Empty;}*/return"";
}
///<summary>///执行POST提交范例///</summary>///<paramname="url"></param>///<paramname="postdata">"LoginName=365admin&Password=fob123"</param>///<returns></returns>publicstaticstringPostPageHTMLUTF8(stringurl,stringpostdata)
{
WebClientclient=newWebClient();
System.Collections.Specialized.NameValueCollectionlist=newSystem.Collections.Specialized.NameValueCollection();
list.Add("opencheckindatatype","3");
list.Add("starttime","1492617600");
list.Add("endtime","1492790400");
//"useridlist":["james","paul"]list.Add("useridlist","['TuHuaXing']");
byte[]j=client.UploadValues(url,list);
//vardec=BitConverter.ToInt64(j,0);//stringjS=BitConverter.ToString(j);//jS=Convert.ToString(jS,10);returnSystem.Text.Encoding.Default.GetString(j);
//目标页面获取值request.form["id"]
/**WebRequestrequest7=WebRequest.Create(url);request7.Method="POST";
//post传参数byte[]bytes=Encoding.ASCII.GetBytes(postdata);request7.ContentType="application/x-www-form-urlencoded";request7.ContentLength=postdata.Length;request7.SStreamsendStream=request7.GetRequestStream();sendStream.Write(bytes,0,bytes.Length);sendStream.Close();
//得到返回值WebResponseresponse7=request7.GetResponse();stringOrderQuantity=newStreamReader(response7.GetResponseStream(),Encoding.GetEncoding("utf-8")).ReadToEnd();returnOrderQuantity;//转化成json对象处理//List<GetOrderQuantity>getOrderQuantity=sr.Deserialize<List<GetOrderQuantity>>(OrderQuantity);**/}
本文转载自中文网 |
最新内容
相关内容
python如何读取列表中元素的位置?
python如何读取列表中元素的位置?,位置,数据,异常,培训,字符串,元素,索引,方法,示例,结果,python读取列表中元素位置的方法:1、使用index()方python中获取路径的三种方法
python中获取路径的三种方法,工作,代码,情况,培训,下来,路径,文件,也就是,桌面,目录,python中获取路径总结下来分为三种情况:1、获取工作目录python如何调用另一个文件夹中的内
python如何调用另一个文件夹中的内容?,系统,培训,文件,模块,内容,路径,函数,所在,前缀,语句,python中调用另外一个文件夹中的内容:1、同一文件python怎么找出所有的数字?
python怎么找出所有的数字?,数字,培训,代码,小数点,小数,字符串,整数,表达式,含义,思路,python中获取字符串中所有数字的方法:1、使用正则表达Python怎么取出列表中的相邻元素?
Python怎么取出列表中的相邻元素?,代码,异常,培训,元素,指针,序列,对象,表示,语句,函数,1、python的迭代器。iter()能把一个序列生成为一个和如何在python代码中指定保存的文件
如何在python代码中指定保存的文件格式,代码,培训,文件格式,格式,二进制文件,文件,后缀,以上,方法,更多,python指定保存文件格式的方法:1、保Python如何复制文件中的内容
Python如何复制文件中的内容,盘中,数据,培训,文件,内容,方法,文件夹,路径,源文件,文件名,python复制文件中内容的方法:1、使用shutil.copyfile实数是不是python的数据类型?
实数是不是python的数据类型?,数字,标准,培训,实数,数据类型,数轴,复数,有限小数,无理数,虚数,实数是python的数据类型。实数,是有理数和无理linux下怎么查看python的包
linux下怎么查看python的包,软件,培训,工具,管理,命令,格式,详细信息,下面,以上,参数,linux中可以使用piplist命令查看安装的python包。pip是python中的open函数如何编码?
python中的open函数如何编码?,数据,系统,可取,培训,文件,参数,函数,时候,表示,模式,python中的open函数可以通过在打开文件时添加encoding参python怎么筛选列表中大于0的数据?
python怎么筛选列表中大于0的数据?,数据,培训,函数,结果,以上,方法,更多,内容,列表,python筛选列表中大于0的数据的方法:1、使用匿名函数lambpython怎么取矩阵的转置?
python怎么取矩阵的转置?,培训,矩阵,数组,示例,函数,以上,作用,结果,方法,更多,python中可以使用np.transpose()方法获取矩阵的转置。np.tran