标签: http-get

为什么getSession()在短时间内远离后续请求中返回相同的会话?

我发送一个$.getJSON(HTTP GET)请求两次(使用不同的数据),一个接一个(假设我们有request1和request2).我可以在FF和Chrome的开发者工具中看到我有相同的cookie:JSESSIONID=FD0D502635EEB67E3D36203E26CBB59A标题字段.

在服务器端,我尝试获取会话:

HttpSession session = request.getSession();
boolean isSessionNew = session.isNew();
String sessionId = session.getId();
String cookieFromRequestHeader = request.getHeader("cookie");
Run Code Online (Sandbox Code Playgroud)

如果我为两个请求打印这些变量,请求1
:

isSessionNew:true
cookieFromRequestHeader:JSESSIONID = FD0D502635EEB67E3D36203E26CBB59A
session.getId():9212B14094AB92D0F7F10EE21F593E52

请求2:

isSessionNew:true
cookieFromRequestHeader:JSESSIONID = FD0D502635EEB67E3D36203E26CBB59A
session.getId():E8734E413FA3D3FEBD4E38A7BF27BA58

如您所见,服务器在a上为request2清楚地创建了一个新会话request.getSession().但为什么会这样呢?它理论上应该是同步的,并为您提供与第一个请求(首先达到此代码)创建的会话相同的会话.现在,为了确保会话创建已同步,我执行了以下操作:

@Autowired
private ServletContext servletContext;
...
synchronized (servletContext) {
    HttpSession session = request.getSession();
    boolean isSessionNew = session.isNew();
    String sessionId = session.getId();
    String cookieFromRequestHeader = request.getHeader("cookie");
}
Run Code Online (Sandbox Code Playgroud)

我得到了同样的结果.

如果我再次发送相同的请求(比如request1'和request2'),我得到,
request1':

isSessionNew:false
cookieFromRequestHeader:JSESSIONID = E8734E413FA3D3FEBD4E38A7BF27BA58 session.getId():E8734E413FA3D3FEBD4E38A7BF27BA58

请求2' :

isSessionNew:false
cookieFromRequestHeader:JSESSIONID = E8734E413FA3D3FEBD4E38A7BF27BA58
session.getId():E8734E413FA3D3FEBD4E38A7BF27BA58 …

java jquery spring http-get httpsession

14
推荐指数
1
解决办法
3万
查看次数

"类型'对象'不能分配给新的HttpClient/HttpGetModule"

按照Google的官方Angular 4.3.2文档,我能够get从本地json文件做一个简单的请求.我想练习从JSON占位符站点点击一个真正的端点,但是我无法确定要在.subscribe()运营商中放置什么.我创建了一个IUser接口来捕获有效负载的字段,但是该行.subscribe(data => {this.users = data})会抛出错误Type 'Object' is not assignable to type 'IUser[]'.处理这个问题的正确方法是什么?看起来非常基本,但我是一个菜鸟.

我的代码如下:

import { Component, OnInit } from '@angular/core';
import { HttpClient } from '@angular/common/http';
import { IUsers } from './users';

@Component({
  selector: 'pm-http',
  templateUrl: './http.component.html',
  styleUrls: ['./http.component.css']
})
export class HttpComponent implements OnInit {
  productUrl = 'https://jsonplaceholder.typicode.com/users';
  users: IUsers[];
  constructor(private _http: HttpClient) { }

  ngOnInit(): void {    
    this._http.get(this.productUrl).subscribe(data => {this.users = data});
  }

}
Run Code Online (Sandbox Code Playgroud)

api http-get angular

14
推荐指数
2
解决办法
3万
查看次数

如何使用HTTP调用Firebase可调用函数?

我意识到仍然可以调用新的Callable Cloud Functions,就像它们是HTTP事件一样,即它们仍然可以在下面进行调用http://us-central1-$projectname.cloudfunctions.net/$functionname.这样做时,我在云功能日志中收到错误消息:

Request has invalid method. GET 
Run Code Online (Sandbox Code Playgroud)

这意味着HTTP-GET不起作用,但有没有办法调用这些函数?也许他们正在使用HTTP-CONNECT.

http-get firebase google-cloud-functions

14
推荐指数
2
解决办法
4369
查看次数

Logcat在每个DefaultHttpClient执行方法调用期间打印"interface name:null"

我多次联系Web服务以通过HttpGet和获取JSON字符串DefaultHttpClient.

...
DefaultHttpClient defaultHttpClient = new DefaultHttpClient();
HttpGet httpGet = new HttpGet(url);
HttpResponse httpResponse = (HttpResponse)defaultHttpClient.execute(httpGet);
HttpEntity httpEntity = httpResponse.getEntity();
...
Run Code Online (Sandbox Code Playgroud)

我发现LogCat是打印接口名称:null,每次都执行标签System.outHttpResponse httpResponse = (HttpResponse)defaultHttpClient.execute(httpGet);.

我正确地建立这个http连接HttpGet吗?有不同的方式吗?

如何创建此连接而不是获取接口名称:来自System.out标记的null LogCat消息?

android http-get httpresponse httpclient logcat

13
推荐指数
1
解决办法
602
查看次数

具有相同标识符的多个HTTP GET参数

假设我收到的请求如下:

http://www.example.com/index.php?id=123&version=3&id=234&version=4

是否有可能在我的PHP代码中以简单的方式提取这些?我意识到我可以使用window.location.href使用javascript获取整个查询字符串并手动处理它但我正在寻找更优雅的东西.请求可以包含任意数量的版本/ ID对,但我可以假设查询格式正确,并且没有义务处理无效字符串.

php parameters http-get

12
推荐指数
2
解决办法
7万
查看次数

在Android上使用HttpPost和DefaultHttpClient时出现身份验证错误

我正在使用HttpClient遇到一个奇怪的问题.我正在使用带有HttpPost的DefaultHttpClient().我正在使用HttpGet 100%成功,但现在尝试切换到HttpPost,因为我正在使用的REST API需要POST参数而不是GET.(仅限某些API调用,所以我知道GET调用工作正常,因此它不是API的错误).

此外,我尝试在我写的一个简单的PHP脚本上使用HttpPost查找POST参数'var'并将其回显到屏幕,传递此参数如下工作正常:

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

    postMethod = new HttpPost("http://www.examplewebsite.com");

    nameValuePairs.add(new BasicNameValuePair("var", "lol"));

    try {
        postMethod.setEntity(new UrlEncodedFormEntity(nameValuePairs));

        response = httpClient.execute(postMethod, responseHandler);
        Log.i("RESTMethod", response);
...
Run Code Online (Sandbox Code Playgroud)

问题是,当我尝试对API执行相同的调用时(但明显将params更改为API参数),我收到以下错误:

Authentication error: Unable to respond to any of these challenges: {}
Run Code Online (Sandbox Code Playgroud)

我请求的页面是一个HTTPS页面,这可能是问题吗?

但是对API上的原始HTTP页面执行相同类型的POST请求会产生相同的错误,除非我注释掉StringEntity部分然后它运行(但返回xml并且我想传递一个参数来请求JSON中的数据) .

这似乎是一个非常奇怪的问题(非https部分),但无法真正找到任何关于这个问题的帮助,所以很抱歉,如果答案在那里.

有任何想法吗?

提前致谢,

Infinitifzz

编辑:好的,我无处可去所以我想如果我引导你进入API可能会有所帮助,那就是8Tracks API,你可以看到你需要为所有请求传递一个dev键(api_key)而我我坚持使用https来记录用户:http://www.8tracks.com/sessions.xml "part.

希望这会有所帮助因为我走到了尽头.

谢谢,

Infinitifizz

https android http-get httpclient http-post

12
推荐指数
2
解决办法
2万
查看次数

点击bean方法并重定向GET请求

我在GlassFish上使用JSF 2和PrimeFaces 2.1.

我有一个页面,旨在允许人们在关注回调URL后执行操作(例如,作为电子邮件中嵌入的链接或某些外部身份验证或支付服务的回调URL参数).在我的情况下,我需要重置密码.回调URL有一个tokenGET参数,如下所示:

http://example.com/app/resetPasswordForm.jsf?token=abc123

在页面加载时resetPasswordForm.jsf,我需要检查令牌是否有效并重定向到主应用程序屏幕,如果它无效.

我的想法是有一个bean方法,如:

public String resetPasswordHandler.showResetForm(String token) {
  if /* token is valid */ {
    return "resetPasswordForm.jsf";
  } else {
    return "main.jsf";
  }
}
Run Code Online (Sandbox Code Playgroud)

但是,如何在页面加载时使该方法受到影响?

不知道如何进行 - 欢迎提出建议.

jsf http-get method-invocation query-string jsf-2

12
推荐指数
1
解决办法
2万
查看次数

如何从Excel VBA for Mac发出HTTP GET

我需要从Excel for Mac 2011向Web服务发出带有查询字符串的HTTP Get.我已经看到了使用QueryTables的答案(如何使用VBA从Excel向服务器发送HTTP POST请求?)但是使用POST方法,而不是GET方法.我也看到从Windows机器上很容易,但我被卡在了Mac上.

有什么建议,还是没有希望?

excel vba http-get excel-vba excel-vba-mac

12
推荐指数
2
解决办法
2万
查看次数

如何在codeigniter中检查请求是否是POST或GET请求?

我只是想知道是否有一种非常简单的方法来确定请求是$_POST一个$_GET请求还是一个请求.

这是否Codeigniter有这样的事情?

$this->container->isGet();
Run Code Online (Sandbox Code Playgroud)

php codeigniter http-get http-post request

12
推荐指数
2
解决办法
3万
查看次数

在表单中发送POST和GET

我需要让表单发送POST和GET请求(由于IE和iframe中的一些错误),你怎么能这样做?

发送的数据不是很安全,所以如果可以通过GET设置它并不重要,只需要确保它是双向设置的.

谢谢您的帮助!

html php http-get http-post

11
推荐指数
2
解决办法
3万
查看次数