本文主要是介绍如何用HttpWebRequest请求带参数的服务,请求服务为某翻译API
直接上源码
1.添加using System.Net;的引用
using System.Net;
2.HttpWebRequest和HttpWebResponse
public static void Fanyi_HttpWebRequest(string fromString)
{
Console.WriteLine($"Fanyi post");
string randnum = Random.Shared.Next(100).ToString();
string sign = Encrypt.EncryptString(ApiConfig.ApiId + fromString + randnum + ApiConfig.ApiKey);
StringBuilder requestString = new StringBuilder();
requestString.Append($"q={fromString}");
requestString.Append($"&from={Language.中文简体}");
requestString.Append($"&to={Language.英语}");
requestString.Append($"&appid={ApiConfig.ApiId}");
requestString.Append($"&salt={randnum}");
requestString.Append($"&sign={sign}");
byte[] buffer = Encoding.UTF8.GetBytes(requestString.ToString());
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(ApiConfig.Url);
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded;charset=utf-8";
request.ContentLength = buffer.Length;
Stream stream = request.GetRequestStream();
stream.Write(buffer, 0, buffer.Length);
stream.Close();
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.UTF8);
string fanyin = reader.ReadToEnd();
reader.Close();
reader.Dispose();
Console.WriteLine(fanyin);
}
3.输出