当前位置: 首页 > 面试题库 >

cURL简单文件上传-417预期失败

欧博简
2023-03-14
问题内容

我对带有cURL的简单文件上传帖子有问题…我做了很多次,但是在这种情况下,我总是从服务器收到“ 417 Expectation
Failed”。当我尝试使用浏览器发布信息时,它可以100%正常运行,但不能使用cURL。

那是我的配置:

我简单的测试形式有效:

<form action="http://images.example.com/image_upload.php" method="post" enctype="multipart/form-data">
    <input type="file" name="userfile" size="50">
    <input type="submit" name="submit">
</form>

这是image_upload.php

<?php
    $uploaddir = '/var/www/images.example.com/images/';
    $uploadfile = $uploaddir . basename($_FILES['userfile']['name']);
    if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
        echo "File is valid, and was successfully uploaded.\n";
    } else {
        echo "Upload failed";
    }
?>

我的cURL脚本(image_upload.sh)如下所示:

#!/bin/sh

file=$1

result=$(curl -s -L -F "userfile=@$file;type=application/octet-stream;" "http://images.example.com/image_upload.php")

echo $result

和服务器头:

> POST /image_upload.php HTTP/1.1
> User-Agent: curl/7.18.2 (i486-pc-linux-gnu) libcurl/7.18.2 OpenSSL/0.9.8g zlib/1.1.4 libidn/1.8 libssh2/0.18
> Host: images.example.com
> Accept: */*
> Content-Length: 579
> Expect: 100-continue
> Content-Type: multipart/form-data; boundary=----------------------------e237975526cf
>
< HTTP/1.1 417 Expectation Failed
< Connection: close
< Content-Length: 0
< Date: Thu, 02 Feb 2012 21:29:22 GMT
< Server: lighttpd/1.4.19

我不知道错误在哪里,也许您可​​以识别出它。


问题答案:

也可以使用set opt标头设置进行固定:

curl_setopt($curl,CURLOPT_HTTPHEADER,array("Expect:  "));

http://www.khattam.info/417-expectation-failed-in-php-curl-while-submitting-
multi-part-forms-2011-04-14.html



 类似资料:
  • 本文向大家介绍js 上传文件预览的简单实例,包括了js 上传文件预览的简单实例的使用技巧和注意事项,需要的朋友参考一下 1. FILE API html5提供了FIle和FileReader两个方法,可以读取文件信息并读取文件。 2. example 以DataURL的形式读取到的文件是一个字符串,类似于data:image/jpeg;base64,/9j/4AAQSk...(base64编码).

  • 依赖模块 安装依赖 npm install --save busboy busboy 是用来解析出请求中文件流 例子源码 demo源码 https://github.com/ChenShenhai/koa2-note/blob/master/demo/upload/ 封装上传文件到写入服务的方法 const inspect = require('util').inspect const path

  • 问题内容: 我正在尝试编写一个小脚本,以使用Google Drive PHP API将本地文件上传到Google Drive。该文档的维护很差,但是到目前为止,我很确定代码看起来应该像这样: 问题是我无法正确执行身份验证(或者我做错了其他事情?)。我收到的错误是: 随后出现此错误: 我究竟做错了什么?您能否提供使用Google Drive PHP API将文件上传到Google Drive的简单工

  • 本文向大家介绍Dropbox API 通过curl上传文件,包括了Dropbox API 通过curl上传文件的使用技巧和注意事项,需要的朋友参考一下 示例 这会将文件从matrices.txt当前文件夹中的本地路径/Homework/math/Matrices.txt上载到Dropbox帐户中,并返回上载文件的元数据: <ACCESS_TOKEN> 应该用OAuth 2访问令牌替换。

  • egg 单文件上传 [ ] 通过ctx.getFileStream便捷的获取到用户上传的文件,需要满足两个条件: 只支持上传一个文件。 上传文件必须在所有其他的 fields 后面,否则在拿到文件流时可能还获取不到 fields。 文档:https://eggjs.org/zh-cn/basics/controller.html 代码: 'use strict'; const Controlle

  • 本文向大家介绍简单实现js上传文件功能,包括了简单实现js上传文件功能的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了js实现上传文件功能的具体代码,供大家参考,具体内容如下 一、用input完成上传,效果图如        选择文件后,提交后出现图片url 二、传输格式采用form-data形式。 html代码  js部分 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大