标签: http-headers

PHP - 使用无cURL的http Web请求向网关发布XML数据

我试图找到一种无需cURL的方法,通过http web请求将数据发送到第三方支付网关.我开发了以下代码,实际上它与接收页面成功通信,但显然POST数据没有被发送.

<?php
function makeWebRequest()
{
    //URL where to send the data via POST
    $url = 'http://localhost/connect_to_gateway/receive.php';

    //the actual data
    $xml = '<?xml version="1.0" encoding="UTF-8"?>' .
            '<test>' .
                'Hi there!' .
            '</test>';
    $data = array('xml' => $xml);

    //prepare the HTTP Headers
    $content_type = 'text/xml';
    $data = http_build_query($data);
    // use key 'http' even if you send the request to https://...
    $options = array(
        'http' => array(
            'method'  => 'POST',
            'header'  => 'Content-type: ' . addslashes($content_type) .'\r\n'
                            . 'Content-Length: ' . strlen($data) …
Run Code Online (Sandbox Code Playgroud)

xml postdata httpwebrequest file-get-contents http-headers

0
推荐指数
1
解决办法
6901
查看次数

NSURLResponse没有名为allHeaderFields的成员

我正在向API发出POST请求,我在Swift中成功获得了响应.以下是我的代码.

private func getData(url: NSURL) {
    let config: NSURLSessionConfiguration = NSURLSessionConfiguration.defaultSessionConfiguration()
    let session: NSURLSession = NSURLSession(configuration: config)

    let dataTask: NSURLSessionDataTask = NSURLSession.sharedSession().dataTaskWithURL(url, completionHandler: {(data: NSData!, response: NSURLResponse!, error: NSError!) -> Void in

        if error {
            println("Error Occurred: \(error.localizedDescription)")
        } else {
            println("\(response.allHeaderFields)") // Error
        }
    })
    dataTask.resume()
}
Run Code Online (Sandbox Code Playgroud)

我正在尝试使用转储头字段allHeaderFields但是我收到一个错误,说NSURLResponse没有名为allHeaderFields的成员.但确实有它!

语法或我调用它的方式一定有问题.谁能告诉我如何纠正这个问题?

谢谢.

post nsurlrequest http-headers ios swift

0
推荐指数
1
解决办法
2712
查看次数

如何传递授权令牌标头目标c?

我正在传递用户名,API调用的密码返回正确的值。但是在身份验证API返回安全令牌后,我需要捕获令牌并传递用户名和密码。我在下面传递标头值的代码

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
[request setHTTPMethod:[self HTTPMethod]];
[request setHTTPBody:self.requestData];
[request addValue:@"xyz" forHTTPHeaderField:@"username"];
[request addValue:@"xyz" forHTTPHeaderField:@"password"];
[request addValue:[[NSUserDefaults standardUserDefaults]valueForKey:@"Auth"] forHTTPHeaderField:@"Authorization"];
[request addValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
Run Code Online (Sandbox Code Playgroud)

我搜索了标头方法,但没有任何帮助。我在这里做错了什么。请任何人帮助我修复它。谢谢。

authorization objective-c nsurlrequest http-headers ios9.1

0
推荐指数
1
解决办法
3004
查看次数

检查url是否存在php

我目前正在使用以下方法来检查是否存在URL

$url = 'https://www.facebook.com/a-test-example-232397848665383511';
$headers = @get_headers($url);
if(strpos($headers[0],'200')===false){
    print('NOT found!');
} else {
    print('found!');
}
Run Code Online (Sandbox Code Playgroud)

NOT found!即使页面在访问时明确解析,也会打印.我打印标题,发现它是因为它返回一个302.有没有办法strpos测试所有可能解决的标头值?

标题的当前输出:

Array
(
    [0] => HTTP/1.1 302 Found
    [1] => Location: https://www.facebook.com/unsupportedbrowser
    [2] => Vary: Accept-Encoding
    [3] => Content-Type: text/html
    // more array items
Run Code Online (Sandbox Code Playgroud)

如果我输入一个我知道失败的网址,我会得到以下信息:

Array
(
    [0] => HTTP/1.1 404 Not Found
    [1] => P3P: CP="Facebook does not have a P3P policy." 
    [2] => Strict-Transport-Security: max-age=15552000; preload
    // rest of array
Run Code Online (Sandbox Code Playgroud)

仅仅测试404是否安全?

php http-headers

0
推荐指数
1
解决办法
6512
查看次数

CORS跨源资源共享和Json Web Token

在我的应用程序中,我包含了来自不同服务器/域的页面.为简单起见我将把我的主要应用Web应用的一种,另幅B.

某处我,用户已登录后,我将加载从页面通过使用CORS和JWT.在A中,我创建了一个传递给Ajax的编码令牌.Ajax在Header中添加了这个令牌("Authorization" = bearer + encoded token).

B然后使用此令牌解码并获取它所属的usersId和组,并确定用户是否有权访问该资源.此外,Web B中还有一个Access-Control-Allow-Origin = Web A设置,仅接受来自A的请求.

我的问题是关于CORS的安全部分和jwt的使用.在开发过程中,当使用Postman直接访问B中的资源时,我可以轻松绕过" Access-control-allow-origin ".只要我有正确的令牌,资源就会被送回来没有问题!我的意思是只需要一些潜在的黑客获取该编码的字符串,他们就可以轻松地使用Postman查看资源.

在涉及安全部分时,下一步是什么,因为我完全迷失了!

希望我能清楚地解释这个问题.所有帮助都非常感谢

security https http-headers cors jwt

0
推荐指数
1
解决办法
6620
查看次数

访问响应头字段

现在我有一个RESTful API,每当我的AngularJS服务访问我的端点时,它就会返回一个刷新的JWT授权令牌.我希望用户的浏览器localStorage通过创建的响应对象访问它来保存此令牌(作为会话的一部分)$httpProvider.intercepters.我的问题是我不知道如何获得该响应对象.我知道我的浏览器会看到响应标题以及我放在那里的所有自定义值:

响应标头字段

我尝试访问response.headers,response.config.headers但没有一个包含我的值.显然浏览器会看到它,但我如何获得这些值?

http-headers angularjs

0
推荐指数
1
解决办法
4972
查看次数

CORS保护:HTTP_ORIGIN的意义是什么

我目前正在为我们所有的域(scripts.domain.com)开发一个中央AJAX脚本库。

我有以下PHP代码,从理论上讲,它可以很好地防止CORS的错误请求。

$valid_cors = array("domain1","domain2","domain3");
if(in_array($_SERVER['HTTP_ORIGIN'],"https://".$valid_cors)) {
    header('Access-Control-Allow-Origin: https://{$valid_cors}', false);
    header("Access-Control-Allow-Methods: GET, POST, PUT");
    header("Access-Control-Allow-Headers: Content-Type");
}
Run Code Online (Sandbox Code Playgroud)

我敢打赌,您甚至可以在阅读之前就猜出我收到的消息。对于那些无法做到的人来说,这是以下几方面的事情:

XMLHttpRequest无法加载 https://scripts.domain.com/scripts/ajax_caller.json?。所请求的资源上没有“ Access-Control-Allow-Origin”标头。因此,不允许访问源“ https:// domain1 ”。

在阅读了这里的一些问题之后,据我了解,大多数浏览器甚至都没有发送HTTP_ORIGIN标头,因此,基本上整个ACAO系统都是毫无意义的,因为您必须将Allow-Origin标记为星号以允许多个域来调用它。您也不能放置多个AO标头,因为如果有多个AO标头,浏览器将完全阻止该请求。

到目前为止,我们都知道-不信任浏览器向您发送的任何内容,因为它很容易被伪造,那么为什么甚至认为它已经实现呢?

使用星号系统对我来说并不奇怪,因为我们会在调用任何动作文件之前检查CSRF和会话在执行时是否进行检查,但是对于大多数用户而言,这可能会带来更大的危害,而不是使它们陷入错误的安全感。 。

拜托,有人可以告诉我,我在这里用了错误的杆端并且我用错了吗?似乎没有多少人可以给答案栏加上星号,这使我更加相信这是唯一的方法。

javascript php ajax http-headers cors

0
推荐指数
1
解决办法
801
查看次数

如何在角度5中将标题设置为HttpHeaders

我试图弄清楚如何处理HttpHeaders上的标头,以通过HttpClient将它们用于http请求.

const headers = new HttpHeaders();
headers.append('foo', 'bar');
headers.set('foo', 'bar');

console.log(headers.get('foo')) // null
Run Code Online (Sandbox Code Playgroud)

它只能这样工作:

const headers = new HttpHeaders().set('foo', 'bar');
console.log(headers.get('foo')) // bar
Run Code Online (Sandbox Code Playgroud)

有没有一种特殊的方法来添加标题?或者这是一个错误?

xmlhttprequest http-headers angular angular5

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

Angular 5-GET方法在添加标头后作为OPTIONS发送

?你好,

我的HTTP请求有问题。是否可以帮助我了解发生了什么?

当我发送GET请求时,它作为OPTIONS发送:

let headers = new HttpHeaders();

headers = headers.set('Content-Type', 'application/json; charset=utf-8')
?.set('Authorization','bearer ' + this.auth.getUserToken());

 this.http.get(SERVER.URL_PROD + API.VERSION + API.GET_USERS, {headers: headers}).subscribe((res: any) => {
  console.log(res);
});
Run Code Online (Sandbox Code Playgroud)

在我的chrome开发工具调试中,我看到以下内容:

Request Method: OPTIONS

Status Code: 405 Method Not Allowed
Run Code Online (Sandbox Code Playgroud)

get http http-headers angular

0
推荐指数
1
解决办法
2838
查看次数

如何在golang中使用url中的host为http头中的主机设置不同的值

我可以用来curl成功发送我的请求,但golang似乎无法做到.

curl -H 'Host: aaa.com' 'http://bbb.com'
Run Code Online (Sandbox Code Playgroud)

我的问题是:如何向主机发送与主机不同的主机请求?

curl http go http-headers

0
推荐指数
1
解决办法
342
查看次数