目前,我正在使用邮递员中的服务来咨询特定端点,在邮递员中我唯一要做的就是将包含参数的 URL 粘贴到请求中,并且它会正确返回内容,但是当我从 C# 执行相同的过程时,它响应(OK200),但在数据中我什么也没得到。
这是我的邮差包
这是我的 c# 请愿书,我在这个请愿书中使用restSharp,我也在尝试使用
httpClient
private static void FindAppointmentss()
{
try
{
var client = new RestClient("https://citaconsular.es");
var request = new RestRequest("/onlinebookings/getservices/", Method.Get);
request.AddQueryParameter("callback", "jQuery2110803503481037606_1707334189954");
request.AddQueryParameter("type", "default");
request.AddQueryParameter("publickey", "2535680773512eb064e273253a3ba5037");
request.AddQueryParameter("lang", "es");
request.AddQueryParameter("version", "1246");
request.AddQueryParameter("src", "https%3A%2F%2Fwww.citaconsular.es%2Fes%2Fhosteds%2Fwidgetdefault%2F2535680773512eb064e273253a3ba5037%23services");
request.AddQueryParameter("srvsrc", "https%3A%2F%2Fcitaconsular.es");
request.AddQueryParameter("_", "1707334189957");
request.AddHeader("Accept", "application/javascript");
var response = client.Execute(request);
if (response.IsSuccessful)
{
string content = response.Content;
}
else
{
Console.WriteLine("No data content: " + response.StatusCode);
}
}
catch (Exception ex)
{
Console.WriteLine("Error: " + ex.Message);
}
}
我总是得到无数据内容
我尝试从邮递员创建一个请求,该请求成功了,如案例描述中所示,我还尝试从 c#、Nodejs 和 ReactJS 中执行此操作。 从 c# 和 Nodejs 来看,响应成功,但没有返回数据,例如 Postman 的情况。
预期的答案是下一个文本回调,其内容是application/javascript
callback=jQuery21106986789352158271_1707334634680({
"WidgetConfiguration": {
"any_agenda": "2",
"registration_type": "2",
"waiting_list": "0",
"show_comments": "0",
"mandatory_comments": "0",
"min_service_to_enable_dropdown": "0",
"template": "1",
"captcha": "0",
"payment_enable": false,
"payments_gateways": {
"stripe": false,
"paypal": false,
"redsys": false,
"niubiz": false
}
},
"WidgetLabel": []
});
当我使用 postman 控制台在 Postman 中调查您的 API 请求时,我发现该请求使用名为 Referer 的标头。
Referer: https://citaconsular.es/onlinebookings/getwidgetconfigurations/?callback=jQuery21106986789352158271_1707334634680&type=default&publickey=2535680773512eb064e273253a3ba5037&lang=es&version=1246&src=https%3A%2F%2Fwww.citaconsular.es%2Fes%2Fhosteds%2Fwidgetdefault%2F2535680773512eb064e273253a3ba5037%23services&srvsrc=https%3A%2F%2Fcitaconsular.es&_=1707334634682
Host: www.citaconsular.es
我尝试在 Restsharp 中使用它,并且在响应中收到内容。 请使用名为Refer的addheader。以下是我的代码:
public void TestBooking()
{
var restClient = new RestClient("https://citaconsular.es");
var request = new RestRequest("/onlinebookings/getservices/");
request.AddParameter("callback", "jQuery2110803503481037606_1707334189954");
request.AddParameter("type", "default");
request.AddParameter("publickey", "2535680773512eb064e273253a3ba5037");
request.AddParameter("lang", "es");
request.AddParameter("version", "1246");
request.AddParameter("src", "https%3A%2F%2Fwww.citaconsular.es%2Fes%2Fhosteds%2Fwidgetdefault%2F2535680773512eb064e273253a3ba5037%23services");
request.AddParameter("srvsrc", "https%3A%2F%2Fcitaconsular.es");
request.AddParameter("_", "1707334189957");
request.AddHeader("Referer", "https://citaconsular.es/onlinebookings/getwidgetconfigurations/?" +
"callback=jQuery21106986789352158271_1707334634680&type=default&publickey=2535680773512eb064e273253a3ba5037&" +
"lang=es&version=1246&src=https%3A%2F%2Fwww.citaconsular.es%2Fes%2Fhosteds%2Fwidgetdefault%2F2535680773512eb064e273253a3ba5037%23" +
"services&srvsrc=https%3A%2F%2Fcitaconsular.es&_=1707334634682");
var response = restClient.Execute(request);
}
我已附上屏幕截图。