提问人:Priyansh Yadav 提问时间:1/10/2023 更新时间:1/10/2023 访问量:100
glitch.com 项目不能用 C 调用#
glitch.com project can't be called with c#
问:
我是在 glitch.com 项目的背景下写这个问题的。
因此,我在 glitch.com 中制作了一个测试项目(asp.net .net6 webapi),它返回您的 IP 地址。该网页的链接 https://ror-test.glitch.me/getip。它运行良好,当从浏览器调用时,它会准确地返回响应。现在,我想从 c# 客户端(准确地说是 unity3d)访问这个项目,但我无法访问它。
我的第一次尝试是使用httpclient.getstringasync-
法典-
HttpClient client = new HttpClient();
string response = await client.GetStringAsync(url);
System.Console.WriteLine(response);
输出-
Unhandled exception. System.Net.Http.HttpRequestException: Response status code does not indicate success: 403 (Forbidden).
在我的第二次尝试中,我使用了httpclient.getasync
法典-
HttpClient client = new HttpClient();
var response = await client.GetAsync(url);
输出-
Response.Content - https://jpst.it/348LS
另外,当我从 nodejs 调用项目时,我的应用程序运行良好,它运行良好 -
法典-
var url = "https://ror-test.glitch.me/getip";
var XMLHttpRequest = require("xhr2");
var xhr = new XMLHttpRequest();
console.log("starting");
xhr.open("GET", url);
xhr.onreadystatechange = function () {
if (xhr.readyState === 4) {
console.log(xhr.status);
console.log(xhr.responseText);
}};
xhr.send();
输出-
starting
200
your ip: xx.xx.xxx.xx
代替 xx.xx.xxx.xx,我与 https://whatismyipaddress.com/ 交叉检查的真实 IP 即将到来。所以我确定问题出在 C# 客户端上。
请帮助我或我可以从 C# 客户端(确切地说是 Unity3D)调用它的任何其他方式。
答:
1赞
sa-es-ir
1/10/2023
#1
您需要传递请求标头。User-Agent
HttpClient client = new HttpClient();
//add user agent
client.DefaultRequestHeaders.TryAddWithoutValidation("User-Agent", "fake");
var response = await client.GetAsync(url);
评论
0赞
Priyansh Yadav
1/10/2023
谢谢。在过去的 2 天里我一直在思考它,但它只是 1 行......TQSM的
评论