gpt4 book ai didi

android - 使用 Pinboard API 在 Android 中添加帖子时出现 401 Unauthorized

转载 作者:行者123 更新时间:2023-11-29 02:13:52 25 4
gpt4 key购买 nike

大家好,我正在使用 Pinboard API 从我的 Android 应用程序添加帖子。每次我发送带有所需凭据和参数的 GET 请求时,我都会收到 401 Unauthorized 响应代码。我从 PHP 代码尝试了相同的 URL,并且该帖子被添加到 Pinboard 中,没有任何错误。知道我哪里出错了吗?
这是代码:

    private void postToPinboard(){

String url = "https://.muUsername:myPassword@api.pinboard.in/v1/posts/add?";
HttpClient client = new DefaultHttpClient();
HttpGet get = new HttpGet(url);

try {
// Adding my data
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
nameValuePairs.add(new BasicNameValuePair("description","Description data");
nameValuePairs.add(new BasicNameValuePair("url", "http://somewebsite.com"));

String paramString = URLEncodedUtils.format(nameValuePairs, "utf-8");
url +=paramString;

// Execute HTTP Post Request
HttpResponse response = client.execute(get);

Log.v("", "RESPONSE CODE: "+response.getStatusLine());// giving 401 Unauthorized

} catch (ClientProtocolException e) {
// do something
} catch (IOException e) {
// do domething
}
finish();
}

最佳答案

终于遇到问题了:使用Pinboard API需要Android支持HTTP basic authentication。所以这就是我如何让它工作的:

    private void postToPinboard(){

String url ="https://api.pinboard.in/v1/posts/add?";

DefaultHttpClient client = new DefaultHttpClient();

String credentials = Base64.encodeBytes((username+":"+password).getBytes());

if(credentials!=null){

try {

List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);

nameValuePairs.add(new BasicNameValuePair("description", "Description data");
nameValuePairs.add(new BasicNameValuePair("url", "http://somewebsite.com"));

String paramString = URLEncodedUtils.format(nameValuePairs, "utf-8");

url +=paramString;

HttpGet get = new HttpGet(url);
get.addHeader("Authorization","Basic "+credentials);

HttpResponse response = client.execute(get);

if(response.getStatusLine().getStatusCode() == 200){
// Added to pinboard
}else{
// Error adding to Pinboard
}

} catch (ClientProtocolException e) {
e.printStackTrace();

} catch (IOException e) {
e.printStackTrace();
}
}
finish();

关于android - 使用 Pinboard API 在 Android 中添加帖子时出现 401 Unauthorized,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5619249/

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