我正在尝试使用API下载PDF或Word文档格式的文档。该服务仅提供有关如何构造请求URL的指导。
API在url中提供了xml或json方法,我正在使用xml。
我试图获取字符串并将其解析为XDocument:
XDocument response;
using (var webClient = new System.Net.WebClient())
{
response = XDocument.Parse(webClient.DownloadString(url));
}
Console.WriteLine(response);
我也尝试下载文件:
using (var webClient = new System.Net.WebClient())
{
webClient.DownloadFile(url, filepath));
}
两者都会产生相同的结果:
%PDF-1.5
%µµµµ
1 0 obj
<</Type/Catalog/Pages 2 0 R/Lang(en-US) >>
endobj
2 0 obj
<</Type/Pages/Count 2/Kids[ 3 0 R 27 0 R] >>
endobj
3 0 obj
<</Type/Page/Parent 2 0 R/Resources<</Font<</F1 5 0 R/F2 7 0 R/F3 9 0 R/F4 11 0 R/F5 13 0 R/F6 21 0 R>>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI] >>/Annots[ 18 0 R 19 0 R 20 0 R 26 0 R] /MediaBox[ 0 0 612 792] /Contents 4 0 R/Group<</Type/Group/S/Transparency/CS/DeviceRGB>>/Tabs/S>>
endobj
4 0 obj
<</Filter/FlateDecode/Length 6592>>
stream
xœÝ=k“Û6’ß]åÿÀOYÍžÍo2ÙrÝ8‰sÙ‡Çn²Æ2=¦¡|ó°ãÔþøën€/‘ÐH r]¥"%ˆÝht7ú…KÎïÞ:Q™H•0#R©®xš©ä²¼{çå_ïÞùßíC~ùkRÓ“åi.›B¥Fï÷Œ‡ÏîÞùôK¸I<{y÷K2ø%ŒóTfR™'Ï.îÞÉRø,ÉRžkx•Ery>ñá_ß½óÛ"9ùwòìïwï|ÏÿÑ…J‹¼A„ñ4×r®<a,Í䮺ÈS×\¤ïáZÌ"ë6Ts•*UCd
NUÃS„ªÊ¤<.UU‘š T•9)&U¥NMª
–ʸTðû Te9rRLªò•L
以及类似的更多内容。这是非常奇怪的字符,我不确定如何从中解析XML或PDF文档。
答案 0 :(得分:0)
您可以将HttpClient用于异步请求Httpclient是一个更好的选择,而不是webclient
public static async Task get()
{
HttpClient _httpClient = new HttpClient())
string url = "https://someurl.com";
var result = await _httpClient.GetAsync($"{url}");
// contents to a log file
string resultContent = await result.Content.ReadAsStringAsync();
File.WriteAllText("D://dT.pdf", resultContent);
// ... write to log
}