有几天我试图找到一种方法来获取this URL到JSON文件。
当您访问上面的网址时,您会看到一个包含产品的网页。此页面将this URL加载到包含其中所有产品信息的JSON文件中。
我想在我的C#程序中输入第一个URL时获取此文件,以便我可以提取数据,但我不知道如何访问此文件。
这是我走了多远:
static void Main(string[] args)
{
GetRequest("https://www.ah.nl/producten/product/wi224735");
Console.ReadKey();
}
async static void GetRequest(string url)
{
using (HttpClient client = new HttpClient())
{
using (HttpResponseMessage response = await client.GetAsync(url))
{
using (HttpContent content = response.Content)
{
string mycontent = await content.ReadAsStringAsync();
//HttpContentHeaders headers = content.Headers;
Console.WriteLine(mycontent);
}
}
}
}
但是这个控制台应用程序会读取标题或HTML而不是JSON文件。
有人可以帮助我吗?
答案 0 :(得分:1)
试试这个
string responseString = string.Empty;
using (var webClient = new WebClient())
{
responseString = webClient.DownloadString("https://www.ah.nl/service/rest/delegate?url=%2Fproducten%2Fproduct%2Fwi224735%2Fdoritos-nacho-cheese&_=1513938720642");
}
答案 1 :(得分:1)
这样的事情对你有用:
//initial URL
var urlStr = @"https://www.ah.nl/producten/product/wi224735/doritos-nacho-cheese";
//The endpoint to get JSON
var delegateEndpoint = @"https://www.ah.nl/service/rest/delegate";
var urlParam = new Uri(urlStr).PathAndQuery;
var address =
$"{delegateEndpoint}?url={Uri.EscapeDataString(urlParam)}";
string json;
using (WebClient client = new WebClient())
{
json = client.DownloadString(address).Dump();
}
答案 2 :(得分:1)
(B)URL包含最后一个参数。您可以从Cookie中获取最后一个参数:http://prntscr.com/hqxvcu 因此,您可以尝试使用HttlClient(https://forums.asp.net/t/2098855.aspx?HTTP+Get+request+in+C+net)
发出此请求答案 3 :(得分:0)
您可以使用以下代码从网址内容中获取文件 -
String url="https://www.ah.nl/service/rest/delegate?url=%2Fproducten%2Fproduct%2Fwi224735%2Fdoritos-nacho-cheese&_=1513938720642";
System.Net.WebClient client=new System.Net.WebClient();
String json = client.DownloadString(url);
System.IO.File.WriteAllText("fileName.json",json);
Console.WriteLine(json);
这是一个有效的代码 -