gpt4 book ai didi

java - 如何在 Android 中发帖?

转载 作者:行者123 更新时间:2023-12-02 08:24:48 24 4
gpt4 key购买 nike

我使用Android API,使用http POST方法发送一些数据:

        HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("http://myapp.com/");

try {
List parameters = prepareHttpParameters();
HttpEntity entity = new UrlEncodedFormEntity(parameters);
httppost.setEntity(entity);

ResponseHandler responseHandler = new BasicResponseHandler();
response = httpclient.execute(httppost, responseHandler);

Toast.makeText(this, response, Toast.LENGTH_LONG).show();
} catch (IOException e) {
// TODO: manage ClientProtocolException and IOException
Toast.makeText(this, e.getMessage(), Toast.LENGTH_LONG).show();
}

我的参数在这里准备:

List parameters = new ArrayList(2);
parameters.add(new BasicNameValuePair("usr", "foo" ));
parameters.add(new BasicNameValuePair("pwd", "bar" ));
return parameters;

但这似乎是错误的,因为我没有得到任何预期的响应。

我使用 Curl 测试了具有相同参数的相同请求,并得到了预期的响应。

我的代码有问题吗?

非常感谢

最佳答案

我会考虑将编码作为第二个参数的 UrlEncodedFormEntity 构造函数。否则,即兴的,这看起来不错。您可以检查服务器日志您收到的这些请求的内容。如果您正在使用模拟器,您还可以确保您的模拟器具有互联网连接(即有两个信号强度栏)。

以下是示例应用程序的相关部分,该应用程序使用 HTTP POST(和自定义 header )更新 identi.ca 上的用户状态:

private String getCredentials() {
String u=user.getText().toString();
String p=password.getText().toString();

return(Base64.encodeBytes((u+":"+p).getBytes()));
}

private void updateStatus() {
try {
String s=status.getText().toString();

HttpPost post=new HttpPost("https://identi.ca/api/statuses/update.json");

post.addHeader("Authorization",
"Basic "+getCredentials());

List<NameValuePair> form=new ArrayList<NameValuePair>();

form.add(new BasicNameValuePair("status", s));

post.setEntity(new UrlEncodedFormEntity(form, HTTP.UTF_8));

ResponseHandler<String> responseHandler=new BasicResponseHandler();
String responseBody=client.execute(post, responseHandler);
JSONObject response=new JSONObject(responseBody);
}
catch (Throwable t) {
Log.e("Patchy", "Exception in updateStatus()", t);
goBlooey(t);
}
}

关于java - 如何在 Android 中发帖?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4745225/

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