【发布时间】:2020-01-28 12:14:57
【问题描述】:
我有这段代码,用于向 Local Courier API 发出发布请求。
public async Task ImportAwbIntegrat()
{
string fisier = File.ReadAllText(@"F:\Read\model.csv");
var values = new Dictionary<string, string>
{
{ "username", "clienttest" },
{ "client_id", "70321588" },
{"user_pass", "testing" },
{"fisier", fisier }
};
HttpClient client = new HttpClient();
try
{
var content = new FormUrlEncodedContent(values);
string methodurl = "https://www.selfawb.ro/import_awb_integrat.php";
var response = await client.PostAsync(methodurl, content);
if (!response.IsSuccessStatusCode)
{
Console.WriteLine(response);
}
var responseString = await response.Content.ReadAsStringAsync();
Console.WriteLine(responseString);
}
catch (Exception ex)
{
string message = ex.Message;
Console.WriteLine(message); ;
}
}
它正在工作的请求,
response value = {Method: POST, RequestUri: 'https://www.selfawb.ro/import_awb_integrat.php', Version: 1.1, Content: System.Net.Http.FormUrlEncodedContent, Headers:
{
Content-Type: application/x-www-form-urlencoded
Content-Length: 442
}}
但是在responseString 里面我有这个消息:
“文件没有上传。它问你,再试一次。”
我认为这是因为服务器需要一个 .csv 文件,其值由 ; 分隔但我从文件中发送值,而不是文件本身。
【问题讨论】:
-
您认为还是实际情况如此?您的 API 是否需要 .csv 文件?您应该查看 API 的文档,然后相应地设计您的逻辑。
标签: c# .net-4.6.1