我有一段php的代码示例,需要翻译到C#,我自己翻译后,服务器始终提示401 未经验证,我对php不熟悉
各位请看一下我翻译的是否正确,这些curl中的参数意思我不是很明白。非常感谢!。 //Connection Resource
$resource_uri = 'https://app.test.com/test.xml'
//Setup connection
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $resource_uri);
curl_setopt($curl, CURLOPT_HEADER, 0);
curl_setopt($curl, CURLOPT_USERPWD, $username . ":" . $password);
curl_setopt($curl, CURLOPT_TIMEOUT, 15);
curl_setopt($curl, CURLOPT_VERBOSE, 0);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 1);
curl_setopt($curl, CURLOPT_FAILONERROR, 0);
//Send request
$result_json = curl_exec($curl);
curl_close($curl);
//Done
print_r($result_json);
我写的c#代码
private bool CheckValidationResult(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors errors)
{
return true;
}
protected void Page_Load(object sender, EventArgs e)
{
string uri = "https://app.test.com/test.xml"; ServicePointManager.ServerCertificateValidationCallback = new System.Net.Security.RemoteCertificateValidationCallback(CheckValidationResult);
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(uri);
request.Method = "GET";
NetworkCredential credential = new NetworkCredential(username, password);
request.Credentials = credential; HttpWebResponse response = null;
try
{
response = (HttpWebResponse)request.GetResponse();
}
catch (Exception ex)
{
if (response != null)
{
response.Close();
response = null;
}
Response.Write(ex.Message);
return;
}
各位请看一下我翻译的是否正确,这些curl中的参数意思我不是很明白。非常感谢!。 //Connection Resource
$resource_uri = 'https://app.test.com/test.xml'
//Setup connection
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $resource_uri);
curl_setopt($curl, CURLOPT_HEADER, 0);
curl_setopt($curl, CURLOPT_USERPWD, $username . ":" . $password);
curl_setopt($curl, CURLOPT_TIMEOUT, 15);
curl_setopt($curl, CURLOPT_VERBOSE, 0);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 1);
curl_setopt($curl, CURLOPT_FAILONERROR, 0);
//Send request
$result_json = curl_exec($curl);
curl_close($curl);
//Done
print_r($result_json);
我写的c#代码
private bool CheckValidationResult(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors errors)
{
return true;
}
protected void Page_Load(object sender, EventArgs e)
{
string uri = "https://app.test.com/test.xml"; ServicePointManager.ServerCertificateValidationCallback = new System.Net.Security.RemoteCertificateValidationCallback(CheckValidationResult);
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(uri);
request.Method = "GET";
NetworkCredential credential = new NetworkCredential(username, password);
request.Credentials = credential; HttpWebResponse response = null;
try
{
response = (HttpWebResponse)request.GetResponse();
}
catch (Exception ex)
{
if (response != null)
{
response.Close();
response = null;
}
Response.Write(ex.Message);
return;
}
c# 也有 curl 为什么不用呢
HttpWebRequest 的工作机制与 curl 是不同的,虽然表现差不多