62,272
社区成员
发帖
与我相关
我的任务
分享
public class HttpClient : WebClient
{
#region 远程POST数据并返回数据
/// <summary>
/// 利用WebClient 远程POST数据并返回数据
/// </summary>
/// <param name="strUrl">远程URL地址</param>
/// <param name="strParams">参数</param>
/// <param name="RespEncode">POST数据的编码</param>
/// <param name="ReqEncode">获取数据的编码</param>
/// <returns></returns>
public static string PostData(string strUrl, string strParams, Encoding RespEncode, Encoding ReqEncode)
{
HttpClient httpclient = new HttpClient();
try
{
//打开页面
httpclient.Credentials = CredentialCache.DefaultCredentials;
//从指定的URI下载资源
byte[] responseData = httpclient.DownloadData(strUrl);
string srcString = RespEncode.GetString(responseData);
httpclient.Headers.Add("Content-Type", "application/x-www-form-urlencoded");
string postString = strParams;
// 将字符串转换成字节数组
byte[] postData = Encoding.ASCII.GetBytes(postString);
// 上传数据,返回页面的字节数组
responseData = httpclient.UploadData(strUrl, "POST", postData);
srcString = ReqEncode.GetString(responseData);
return srcString;
}
catch (Exception ex)
{
//记录异常日志
Logger.Write(Level.Error, "PostData:" + ex.Message);
return null;
}
finally
{
//释放资源
httpclient.Dispose();
}
}
#endregion