C#通过后台进行想某个网站发送Get或者POST请求。
这个没有多少内容,就直接上代码了,下面的是GET请求:
public string GetFunction(string order,string payType,string filePrice)
{
请求的地址(你请求的地址如果不需要参数就传参),
string serviceAddress = "http://域名/pay-0.0.1-SNAPSHOT/pay?
jobId="+order+"&payType="+payType+"&price="+filePrice;
try
{
HttpWebRequest request =
(HttpWebRequest)WebRequest.Create(serviceAddress);
request.Method = "GET";//GET请求的方式
request.ContentType = "text/html;charset=UTF-8";//编码格式以及请求类型,这行代码很关键,不设置ContentType将可能导致后台参数获取不到值
request.Credentials = CredentialCache.DefaultCredentials;
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Stream myResponseStream = response.GetResponseStream();
StreamReader myStreamReader = new StreamReader(myResponseStream,
Encoding.UTF8);
string retString = myStreamReader.ReadToEnd();
myStreamReader.Close();
myResponseStream.Close();
return retString;//返回链接字符串
}
catch (Exception e)
{
throw new Exception("请求错误"+e);
}
}
Post请求:
//Post请求
public static string Post(string url, string obj = null)
{
string param = (obj);//参数
byte[] bs = Encoding.Default.GetBytes(param);
//创建一个新的HttpWebRequest对象。
HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create(url);
// 将方法属性设置为“POST”以将数据发布到URI。
req.Method = "POST";
//设置contentType属性。
req.ContentType = "application/json";
req.ContentLength = bs.Length;
using (Stream reqStream = req.GetRequestStream())
{
reqStream.Write(bs, 0, bs.Length);
reqStream.Close();
HttpWebResponse response2 = (HttpWebResponse)req.GetResponse();
StreamReader sr2 = new StreamReader(response2.GetResponseStream(),
Encoding.UTF8);
string str = sr2.ReadToEnd();
return str;
}
}