gpt4 book ai didi

android - 将 AQuery 库与 PUT 请求和 StringEntity(String) 结合使用

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:13:23 26 4
gpt4 key购买 nike

我为 Android 使用 AndroidQuery(AQuery) 库,我需要使用 StringEntity(一些字符串)实体创建 PUT 请求。

我的代码有什么问题?你的建议?我尝试在没有“.header(”_method”, “PUT”)”的情况下使用

HttpEntity entity = null;
try {
entity = new StringEntity(stringData, HTTP.UTF_8);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}

Map<String, Object> params = new HashMap<String, Object>();
params.put(AQuery.POST_ENTITY, entity);

AQuery aq = new AQuery(this);
aq.progress(pDialog).ajax(url, params, String.class, new AjaxCallback<String>() {

@Override
public void callback(String url, String json, AjaxStatus status) {
if(status.getCode() == 200) {

} else {

}

}
}.header("Content-Type", "application/x-www-form-urlencoded")
.header("_method", "PUT"));

最佳答案

它有点隐藏,但 AjaxCallback 有一个私有(private)的 method 字段(和相应的 setter )用于确定要使用的 HTTP 方法。默认情况下,它使用 METHOD_DETECT,它会尝试找出要使用的内容,当您添加参数时,它会认为这是一个 POST。

所以,而不是:

.header("_method", "PUT"));

使用

.method(AQuery.METHOD_PUT)

(引用:https://github.com/androidquery/androidquery/blob/master/src/com/androidquery/callback/AbstractAjaxCallback.java#L280)

关于android - 将 AQuery 库与 PUT 请求和 StringEntity(String) 结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11055622/

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