相关疑难解决方法(0)

如何阻止cURL使用100继续?

所以,长话短说,我有一个使用MVC Web API作为后端的AJAX应用程序.然而,客户端从不同的域调用并使用PHP代理文件来解决跨域请求问题.

但是,使用PHP代理,Web API会使用100 ContinueHTTP标头响应某些请求,并且任何获取此请求的请求都需要花费过多的时间才能完成(我们说的最多2分钟左右)并且还可以返回无效的响应.

似乎是cURL的一个已知问题,解决方法通常被引用为插入以下行以删除cURL请求中的expect:100标头

不幸的是,解决方案对我来说似乎难以捉摸:

$headers = getallheaders();
$headers_new = "";
foreach($headers as $title => $body) {
    $headers_new[] = $title.": ".$body;
}
//$headers_new[] = 'Expect:';
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers_new);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Expect:') );
Run Code Online (Sandbox Code Playgroud)

此代码有效,但删除了所有其他标头(这对我来说是不可行的,因为我使用HTTP基本身份验证头来通过API进行身份验证).您可能还会注意到我尝试将其添加Expect:到现有标头中,但这对我也没有帮助.

如何维护现有标头,还可以防止cURL期望100继续?

php proxy jquery curl

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

通过PHP或Apache中断服务器端的HTTP文件上传

将大文件(> 100M)上传到服务器时,PHP始终首先从浏览器接受整个数据POST.我们无法注入上传过程.

例如,在我的PHP代码中将token整个数据发送到服务器之前检查" " 的值是不可能的:

<form enctype="multipart/form-data" action="upload.php?token=XXXXXX" method="POST">
    <input type="hidden" name="MAX_FILE_SIZE" value="3000000" />
    Send this file: <input name="userfile" type="file" />
    <input type="submit" value="Send File" />
</form>
Run Code Online (Sandbox Code Playgroud)

所以我试着这样使用mod_rewrite:

RewriteEngine On
RewriteMap mymap prg:/tmp/map.php
RewriteCond %{QUERY_STRING} ^token=(.*)$ [NC]
RewriteRule ^/upload/fake.php$ ${mymap:%1} [L]
Run Code Online (Sandbox Code Playgroud)

map.php

#!/usr/bin/php
<?php
define("REAL_TARGET", "/upload/real.php\n");
define("FORBIDDEN", "/upload/forbidden.html\n");

$handle = fopen ("php://stdin","r");
while($token = trim(fgets($handle))) {
file_put_contents("/tmp/map.log", $token."\n", FILE_APPEND);
    if (check_token($token)) {
        echo REAL_TARGET;
    } else {
        echo FORBIDDEN;
    }
}

function check_token ($token) …
Run Code Online (Sandbox Code Playgroud)

php mod-rewrite file-upload http node.js

11
推荐指数
1
解决办法
3276
查看次数

100-continue在PUT请求中意味着什么?

我看到Expect:100-continue在某个PUT请求(上传文件)中,这是什么意思?

http

5
推荐指数
1
解决办法
3870
查看次数

将文件上传到Spring时可能导致net :: ERR_CONNECTION_ABORTED的原因是什么

pI正在使用plupload(plupload.com)jQuery插件将图像文件AJAX到Java Spring服务器。我尝试了服务器端RESTful Controller端点的不同实现。我已经附上了处理文件上传网址的特定方法。任何帮助将不胜感激。谢谢。

@RequestMapping(value = "/pictureUpload", method = RequestMethod.POST )
public @ResponseBody 
String productPictureUploadPost(@RequestBody MultipartFile multipartFile) {
    HomeController.logger.info("In method productPictureUploadPost in SettingsPanelController. : Entering");
    String orgName = multipartFile.getOriginalFilename();

    String filePath = "/my_uploads/" + orgName;
    File dest = new File(filePath);
    try {
        multipartFile.transferTo(dest);
    } catch (IllegalStateException e) {
        e.printStackTrace();
        return "File uploaded failed:" + orgName;
    } catch (IOException e) {
        e.printStackTrace();
        return "File uploaded failed:" + orgName;
    }
    HomeController.logger.info("In method productPictureUploadPost in SettingsPanelController. Exiting : " + "File uploaded:" + orgName); …
Run Code Online (Sandbox Code Playgroud)

java jquery spring

5
推荐指数
1
解决办法
3685
查看次数

标签 统计

http ×2

jquery ×2

php ×2

curl ×1

file-upload ×1

java ×1

mod-rewrite ×1

node.js ×1

proxy ×1

spring ×1