gpt4 book ai didi

Angular 2 中带有 header 和参数的 HTTP GET 请求

转载 作者:搜寻专家 更新时间:2023-10-30 22:01:20 26 4
gpt4 key购买 nike

我试图从 Stardog 三重存储中获取一些数据到 Angular 中,但我真的很难让它工作。使用完全相同的 header 和参数从 curl 访问服务没有问题。我还尝试省略参数部分,只键入完整的 url ('localhost:5820/myDB/query?reasoning=false&query=SELECT * WHERE {?s ?p ?o}') 但没有成功。

private _queryUrl = 'http://localhost:5820/myDB/query';

constructor(private _http: Http) {}

getData() {
let username : string = 'admin';
let password : string = 'admin';

let headers = new Headers();
headers.append('Authorization', "Basic " + btoa(username + ":" + password));
headers.append('Content-Type', 'application/rdf+xml');
headers.append('Accept', 'application/sparql-results+json');

let params = new URLSearchParams();
params.set('reasoning', 'false');
params.set('query', 'SELECT * WHERE {?s ?p ?o}');

let options = new RequestOptions({ headers: headers, search: params });

return this._http
.get(this._queryUrl, options)
.map((res: Response) => res.json());
}

最佳答案

您将内容类型指定为 application/rdf+xml 这是错误的(没有内容)。作为SPARQL spec状态,在这种情况下你不应该有内容类型,在其他情况下你应该使用 application/x-www-form-urlencoded (通过 URL 编码的 POST 查询)或 application/sparql-query(直接通过 POST 查询)。

关于Angular 2 中带有 header 和参数的 HTTP GET 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40364039/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com