- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我的 http 请求有问题,我想你可以帮助我。我有一个 JavaEE Web 应用程序,我需要在其上发出一些请求。
特别是,我有两个要求一个接一个地执行。但为了成功,网络应用程序(链接到我公司的另一个网络应用程序)希望请求来自“两个不同的来源”。例如,如果我使用同一个浏览器执行这些请求,它将无法工作,而如果我使用 mozilla 执行第一个请求,然后在“隐身窗口”中使用 mozilla 执行第二个请求,它将工作!很奇怪不是吗?
所以我想对 java 的 post 请求使用相同的策略(我正在为 google glass 开发一个应用程序),但我无法做到这一点。我尝试了很多技巧。这是我的最后一个代码,我使用链接到上下文的 httpclient 本身链接到 cookiestore,并且我清除了 cookie 存储 => 但它不起作用...
public RestClient(){
httpClient = new DefaultHttpClient();
localContext = new BasicHttpContext();
cookieStore = new BasicCookieStore();
localContext.setAttribute(ClientContext.COOKIE_STORE, cookieStore);
}
private String postHttp(String address, String content, String contentType) {
String text = null;
HttpResponse response;
try {
HttpPost httpPost = new HttpPost(address);
httpPost.setHeader("Content-Type", contentType);
httpPost.setEntity(new StringEntity(content));
response = httpClient.execute(httpPost, localContext);
text = HttpUtil.convertInputStreamToString(response);
cookieStore.clear();
}
catch (Exception e) {
return e.getLocalizedMessage();
}
return text;
}
在 Activity 中:
postData = "myrequest1";
RestClient a = new RestClient();
String result1 = a.postHttp(Constants.AVAIL_ADDRESS, postData, "application/x-www-form-urlencoded;charset=UTF-8");
a = null;
//fine
postData = "myrequest2";
RestClient b = new RestClient();
String result2 = b.postHttp(Constants.BOOKING_ADDRESS, postData, "application/x-www-form-urlencoded;charset=UTF-8");
//error
仅供引用,错误不是来自java,而是来 self 公司的web应用程序,因为它检测到类似 session 的内容(我不确定“ session ”这个词......)
感谢您的帮助!
更新
Maven 依赖项:
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.3.3</version>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpmime</artifactId>
<version>4.3.3</version>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpcore</artifactId>
<version>4.3.2</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.2.3</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.2.3</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.8.2</version>
<scope>test</scope>
</dependency>
最佳答案
您可以尝试通过为两个请求设置不同的用户代理来模仿所需的行为(来自 2 个不同浏览器的 2 个请求),例如:
httpPost.setHeader("User-Agent", "MyAgent");
关于java - 由于 java 中的 session ,两个 HTTP 请求(一个接一个)不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24549157/
今天有小伙伴给我留言问到,try{...}catch(){...}是什么意思?它用来干什么? 简单的说 他们是用来捕获异常的 下面我们通过一个例子来详细讲解下
我正在努力提高网站的可访问性,但我不知道如何在页脚中标记社交媒体链接列表。这些链接指向我在 facecook、twitter 等上的帐户。我不想用 role="navigation" 标记这些链接,因
说现在是 6 点,我有一个 Timer 并在 10 点安排了一个 TimerTask。之后,System DateTime 被其他服务(例如 ntp)调整为 9 点钟。我仍然希望我的 TimerTas
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
我就废话不多说了,大家还是直接看代码吧~ ? 1
Maven系列1 1.什么是Maven? Maven是一个项目管理工具,它包含了一个对象模型。一组标准集合,一个依赖管理系统。和用来运行定义在生命周期阶段中插件目标和逻辑。 核心功能 Mav
我是一名优秀的程序员,十分优秀!