该请求标题GAE文档说...
X-AppEngine上区域
发出请求的区域的名称.此值仅在X-AppEngine-Country中的国家/地区的上下文中有意义.例如,如果国家是"美国"而该地区是"ca",则"ca"表示"加利福尼亚",而不是加拿大.
我在哪里可以获得可以退回的所有地区的列表?为什么它只能返回"加利福尼亚"时必须返回"ca"?
谢谢!
我想在我的xhr中添加标题.
当我使用setRequestHeader时,它实际上做的是向Access-Control-Request-Headers添加一个值.
如果我编码:
xhr.setRequestHeader('key1', 'value1');
xhr.setRequestHeader('key2', 'value2');
Run Code Online (Sandbox Code Playgroud)
我在请求标头中看到的是:Access-Control-Request-Headers:accept,key1,key2
我期望看到的是:
key1:value1
key2:value2
如何防止这种合并?谢谢!
我按照本教程设置了Angular和Rails的令牌认证:https://www.airpair.com/ruby-on-rails/posts/authentication-with-angularjs-and-ruby-on-rails
我正在尝试使用gem current_user
提供的帮助器devise_token_auth
.即使通过Angular(使用ng-token-auth
)成功验证用户,也current_user
总是false
在Rails中返回.根据devise_token_auth
文档(https://github.com/lynndylanhurley/devise_token_auth),"客户端应在每个请求的标题中包含身份验证信息".这些将是"访问令牌","到期","令牌类型","uid"和"客户端".
我认为我的问题是:在http:// localhost:3000 /#/ whatever(angular/client side),但在http:// localhost:3000时,我可以在Web检查器的网络选项卡中看到这些auth标头/ api/whatever(rails/server side),auth头不存在.因此request.headers['access-token']
,例如,将返回零.
我在几个地方阅读了类似/相同的问题,主要是在这里:https://github.com/lynndylanhurley/devise_token_auth/issues/74,但还没有成功.
我通常不会问很多问题,所以希望这是有道理的.另外,我是Angular的新品牌,并且只在Rails游戏中使用了几年,所以如果这是一个愚蠢的问题......我的不好;)
自从我安装了新的Chrome版本44.0.2403.xx以来,我一直在努力.
我最初的问题是我的网站上的一些样式表加载了https,但我的网站只有http.
我使用wordpress,所以我在核心函数内部搜索,找到将HTTPS添加到url的位置.
罪魁祸首是is_ssl()
功能.Wordpress base是对$_SERVER['HTTPS']
变量的HTTPS验证,我的设置为1.
我发现最后一个Google Chrome版本正在发送标题HTTPs = 1
.
如何防止此标题导致我的网站出现问题?
我试图通过使用apache_request_headers(),$ _SERVER,$ _ENV和getallheaders()获取所有标头.
我知道Apache 2.4出于安全原因丢弃了未知头文件,并尝试通过添加以下内容来规避它:
SetEnvIfNoCase ^X (.*) HTTP_CUSTOM=$0
RequestHeader set HTTP_CUSTOM %{HTTP_CUSTOM}e env=HTTP_CUSTOM
Run Code Online (Sandbox Code Playgroud)
它成功捕获/重命名已知标题,但在尝试捕获X-Custom-Header时,它始终为空.
可能是什么原因?
我有以下功能来设置我的AJAX
请求的标头:
self.authenticate = function () {
self.token = sessionStorage.getItem(tokenKey);
var headers = {};
if (self.token) {
headers.Authorization = 'Bearer ' + self.token;
$.ajaxSetup({
headers: headers
});
}
}
Run Code Online (Sandbox Code Playgroud)
但这不起作用,当我检查开发人员收费(F12)或Fiddler中的标头时,我没有看到那里的custon标头,但是当我在请求上设置标头而不是通过ajaxSetup
它完美地工作时.
authenticate
在布局页面中调用这些函数:
$(document).ready(function () {
var avm = new AuthenticationViewModel();
avm.authenticate();
});
Run Code Online (Sandbox Code Playgroud)
而self.token
不是null
.
例如,对于此请求:
self.getUsers = function (callback) {
$.get("../API/Users/GetUsers/",callback);
}
Run Code Online (Sandbox Code Playgroud)
我错过了什么?
客户端需要哪些 http 请求标头才能从服务器获取正确的响应?是否取决于服务器后端?
我遇到过这样的情况:设置所有请求标头(就像浏览器一样)给了我不正确的响应,我不得不划掉一些。
如果所有请求标头都是必需的,是否意味着编程语言中的 http 帮助程序库设置了一些默认值?如果没有,是否有比错误和跟踪更好的解决方案?
我为我的API解决方案添加了xml的输出格式和输入格式
//add formatter to support XML media type results(application/xml)
setupAction.OutputFormatters.Add(new XmlDataContractSerializerOutputFormatter());
//add formatter to support XML media type request(application/xml)
setupAction.InputFormatters.Add(new XmlDataContractSerializerInputFormatter());
Run Code Online (Sandbox Code Playgroud)
但是当我使用application / xml的接受标头发出请求时,我得到了406,还有其他人遇到吗?
内容类型为application / json
----固定----
如果控制器操作返回的对象具有构造函数,而accept标头为application / xml,则响应将为406。只需删除构造函数,然后我就可以返回XML。
我想为Request的标头中的类实例分配一个值作为单例。
我想ConfigureServices
在Startup
类的方法中使用.net core进行分配。
像这样:
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc();
services.AddScoped<MyClass>(provider =>
{
var myClass = new MyClass();
myClass.PropName = provider.Request.Headers["PropName"]; // I want to access Request Header here
});
}
Run Code Online (Sandbox Code Playgroud)
如何在AddScoped
方法中访问Request的标头?
我有2页:第一页是登录页面,第二页是类别页面.在输入凭据后的登录API中,我从响应头获取响应作为sesssion id.sesssion id将被保存,并将用于进一步的API调用.我正在尝试调用第二个API(类别页面).在此页面中,作为输入传递请求标头中保存的会话ID.获得响应"会话已过期".还尝试传入Set-Cookie: PHPSESSID=d9f9sdkfjs9
请求标头.但它不起作用.
注意 :
public void fnCallLoginAPI() {
try {
//DEMO URL
//final String URL="http://demo.io/api/api.php?m=login";
//LIVE URL
final String URL = "https://www.live.com/shop/api/api.php?m=login";
final String requestBody = "email=abc.b@xyz.com" + "&password=43443==" + "&strPlatform=i" + "&strDeviceToken=null";
StringRequest stringRequest = new StringRequest(Request.Method.POST, URL, new Response.Listener<String>() {
@Override
public void onResponse(String response) {
String strResponse = response;
System.out.println("THE RESPONSE IS in PROFILE IS" + response);
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
}
})
{ …
Run Code Online (Sandbox Code Playgroud) request-headers ×10
javascript ×2
.net-core ×1
ajax ×1
android ×1
angularjs ×1
apache ×1
apache2 ×1
apache2.4 ×1
api ×1
client ×1
devise ×1
geolocation ×1
http ×1
http-headers ×1
httprequest ×1
https ×1
jquery ×1
php ×1
request ×1
rest ×1
ssl ×1
wordpress ×1
xml ×1