php访问传入数据
放置与发布类似? 我得到了一些入站请求(apache): [request_method] => put 我以前从未使用过此请求方法.所以我必须问我是否应该以不同的方式处理它. 向我发送数据的人声称正在发送XML.所以我的脚本有: 我现在被困在这里.如果有看台请求,我是否会用其他东西替换$ http_raw_post_data? 解决方案 根据$putdata = fopen("php://input", "r"); $str = stream_get_contents($putdata); fclose($putdata);
2 2023-05-29
编程技术问答社区
(CURL, PHP) 用PUT请求上传文件,我该如何处理?
这是我在process.php 中拥有的 parse_str(file_get_contents("php://input"),$upload_data); if (isset($upload_data)) { print_r($upload_data); exit; } 这是我使用卷曲来查询服务器的方式. weldan@prindu:~$ curl -X PUT -H "X-TOKEN: test123" -F filedata=@/home/weldan/Pictures/Cool-Pictures1.jpg http://host.tld/process.php Array ( [------------------------------22031b6e799c Content-Disposition:_form-data;_name] => "filedata"; filename="Cool-Pictures1.jpg" Content-T
0 2023-05-29
编程技术问答社区
PHP CURL PUT来自文件路径
我正在尝试用文件进行卷曲,但我有问题. 这是我的代码: $url_path_str = 'http://my_url'; $file_path_str = '/my_file_path'; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, ''.$url_path_str.''); curl_setopt($ch, CURLOPT_PUT, 1); $fh_res = fopen($file_path_str, 'r'); $file_data_str = fread($fh_res, filesize($file_path_str)); curl_setopt($ch, CURLOPT_INFILE, $fh_res); curl_setopt($ch, CURLOPT_INFILESIZE, filesize($file_path_str)); fclose($fh_res); curl_setopt($ch, C
0 2023-05-28
编程技术问答社区
CURLOPT_PUT vs CURLOPT_POSTFIELDS
当我通过卷发发送put请求API到其余部分时,我发现了奇怪的行为.如果设置参数 curl_setopt($ curl,curlopt_put,true) ,则查询,其中curlopt_postfields不空取决于某些超时).并且,如果使用参数 curl_setopt($ curl,curlopt_customrequest," put")发送相同的请求,则查询执行持续约1秒.有人可以解释这些参数之间的根本区别吗? 示例代码: $data = http_build_query(array("enable"=> 1)); if( $curl = curl_init() ) { curl_setopt($curl, CURLOPT_URL, BASE_URL .'users/2'); curl_setopt($curl, CURLOPT_RETURNTRANSFER,true); curl_setopt($curl, CURLOPT_PUT, t
0 2023-05-28
编程技术问答社区
使用API PUT请求上传一个文件
我正在php中构建API.其中一种方法是new(put请求).它期望有几个字符串字段,并且也期望图像.但是我无法正常工作.有了邮政请求,这很容易,但是我不确定如何使用put以及如何将数据获取在服务器上. 感谢您的帮助! 测试卷曲代码 $curl = curl_init(); curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 2); curl_setopt($curl, CURLOPT_HEADER, false); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); curl_setopt($curl, CURLOPT_BINARYTRANSFER, 1); curl_setopt($curl, CURLOPT_URL, $this->url); curl_setopt($curl, CURLOPT_PUT, 1); curl_setopt($curl, CURLOPT_INFILE, $i
0 2023-05-28
编程技术问答社区
使用Slim PHP获取put参数
我搜索了,但没有找到答案.我有一个安息的API来管理基本的crud.我正在尝试使用put创建更新方法,但是我无法检索参数值.我正在使用 postman 要提出请求,我的请求,我的请求看起来像: url http://localhost/api/update/987654321 参数 id = 987654321 name = John Smith age = 35 php $app = new Slim(); $app->put('/update/:id', function( $id ) use( $app ){ var_dump([ 'id' => $id, 'name' => $app->request->put('name'), 'age' => $app->request->put('age') ]); }); 我的var_dump()结果是: array(3) { [
6 2023-05-27
编程技术问答社区
用PHP cUrl库使用PUT方法
我能够成功运行以下curl命令(在命令行): curl -XPOST --basic -u user:password -H accept:application/json -H Content-type:application/json --data-binary '{ "@queryid" : 1234 }' http://localhost/rest/run?10 这是我到目前为止正在做的事情,但是它似乎并没有使用我正在使用的休息服务: $headers = array( 'Accept: application/json', 'Content-Type: application/json', ); $url = 'http://localhost/rest/run?10'; $query = '{ "@queryid" : 1234 }'; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $u
0 2023-05-27
编程技术问答社区
如何用PHP通过HTTP PUT接收一个文件
这是一段时间以来一直困扰着我的东西..我正在建立一个静止的API,该API必须在某些情况下接收文件. 使用HTTP POST时,我们可以读取data from $_POST和files from $_FILES. 使用HTTP GET时,我们可以读取data from $_GET和files from $_FILES. 但是,当使用HTTP PUT时,读取数据的唯一方法是使用php://input stream. 一切都很好,直到我想通过http put发送一个文件.现在,php://输入流不再按预期工作,因为它也有一个文件. 这是我目前在看请求的数据: 的方式 (只要没有文件发布就可以运行良好) $handle = fopen('php://input', 'r'); $rawData = ''; while ($chunk = fread($handle, 1024)) { $rawData .= $chunk; } parse_s
0 2023-05-26
编程技术问答社区
如何在服务器端访问PHP REST API PUT数据?
- 问题 - 我只是从剩下的API开始,并且变得非常困惑. 这是我的php crul客户端的样子. case 'PUT': curl_setopt($handle, CURLOPT_CUSTOMREQUEST, 'PUT'); curl_setopt($handle, CURLOPT_POSTFIELDS, $data); break; 现在,当我查看服务器时,我的$ _server ['request_method']显示了,但是我的问题是如何获得与curlopt_postfields一起发送的$数据. 我要做的就是将带有PUT请求的$数据发送到下一行中.喜欢 $value = $data['curl_data']; 我在这个话题上看到了太多的混乱,这让我头疼.在PHP客户端似乎很容易,但是没有人有适用于PHP服务器端的答案. 感谢您的帮助! - 答案(帮助和作业后) - 我是新手,所以直到8个小时后才能回
0 2023-05-26
编程技术问答社区
PHP cURL HTTP PUT
我正在尝试用卷发创建HTTP PUT请求,但我无法使其正常工作.我读过许多教程,但实际上没有一个教程.这是我当前的代码: $filedata = array('metadata' => $rdfxml); $ch = curl_init($url); $header = "Content-Type: multipart/form-data; boundary='123456f'"; curl_setopt($ch, CURLOPT_VERBOSE, 1); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_HTTPHEADER, array($header)); curl_setopt($ch, CURLOPT_POSTFIE
0 2023-05-26
编程技术问答社区
Curl和PHP | 如何通过Curl的PUT,POST,GET来传递一个json?
我一直在为它的地狱构建一个REST API,并且在使用命令行的卷发时,我一直在测试它,这对于Crud 非常容易 我可以从命令行成功拨打这些电话 curl -u username:pass -X GET http://api.mysite.com/pet/1 curl -d '{"dog":"tall"}' -u username:pass -X GET http://api.mysite.com/pet curl -d '{"dog":"short"}' -u username:pass -X POST http://api.mysite.com/pet curl -d '{"dog":"tall"}' -u username:pass -X PUT http://api.mysite.com/pet/1 上面的呼叫很容易从命令行进行,并且与我的API一起工作正常,但是现在我想使用PHP来创建卷发.如您所见,我将数据作为JSON字符串传递.我已经阅读了,我认为我可能可以
2 2023-05-25
编程技术问答社区
在PHP中使用cURL的RAW POST
如何使用卷曲在PHP中执行原始帖子? 原始帖子如无需任何编码,并且我的数据存储在字符串中.数据应像这样格式化: ... usual HTTP header ... Content-Length: 1039 Content-Type: text/plain 89c5fdataasdhf kajshfd akjshfksa hfdkjsa falkjshfsa ajshd fkjsahfd lkjsahflksahfdlkashfhsadkjfsalhfd ajshdfhsafiahfiuwhflsf this is just data from a string more data kjahfdhsakjfhsalkjfdhalksfd 一个选项是手动编写正在发送的整个HTTP标头,但这似乎不太最佳. 无论如何,我可以将选项传递给curl_setopt(),说使用帖子,使用文本/平原,然后从$variable? 发送原始数据 解决方案 我刚刚找到了解决方案,以
0 2023-05-25
编程技术问答社区
perl中的" $ x-> put"有什么作用?
我正在看这件代码: $diag_cmd = pack("CCSV", DIAG_SUBSYS_CMD_F, DIAG_SUBSYS_PWRDB, PWRDB_DIAG_PKT_SCRIPT | $processor_select, length($s_part)) . $s_part; $diag_request_var = Variant(VT_ARRAY | VT_UI1, length $diag_cmd); $diag_request_var->Put($diag_cmd); 其中定义了下面的变体: sub Variant { return Win32::OLE::Variant->new(@_); } 我不确定它做什么,以及在perl中实际做什么. 有什么想法? 解决方案 Put不是Perl随附的标准功能. 在这种情况下,您有一个名为$diag_request_var的对象,该对象是 Win32::OLE::Var
0 2023-05-24
编程技术问答社区
Java的Hashtable放置方法使我的应用程序变慢了
我需要做: Dictionary cache; cache = new Hashtable(); this.getDocument().putProperty("imageCache", cache); 然后我有一种方法: cache.put(url, picture); 图片是图像对象. 我以这种方式创建: public Image getSmiley(String smileyName) { BufferedImage img = new BufferedImage(16, 16, BufferedImage.TYPE_INT_ARGB); Graphics g = img.getGraphics(); ImageIcon myicon = new ImageIcon(getClass().getResource("/ola/smileys/" + smileyName + ".png")); myicon.paintIcon
0 2023-05-24
编程技术问答社区
httpClient -> HTTP/1.1 500内部服务器错误
当我尝试在我的REST客户端应用程序中执行PUT/POST时,我会遇到此错误( http/1.1 500内部服务器错误). 您对可能发生什么样的错误有任何了解吗?这不是代码中的错误吗? 它告诉那是在Teh服务器中. 如果您需要我的一些代码,请要求它! 谢谢 这是我在服务器日志中收到的消息: [#|2013-03-15T09:34:32.508+0000|WARNING|glassfish3.1.2|javax.enterprise.system.container.web.com.sun.enterprise.web|_ThreadID=115;_ThreadName=Thread-2;|StandardWrapperValve[ServletAdaptor]: PWC1406: Servlet.service() for servlet ServletAdaptor threw exception org.codehaus.jackson.JsonParseEx
8 2023-05-22
编程技术问答社区
如何使用Retrofit用http put上传文件
我正在尝试使用HTTP PUT方法上传文件, 我成功地尝试了Okhttp,但由于改造而失败. 这是我的代码: 静态最终字符串Media_type =" Image/jpeg" // file is a file path RequestBody requestBody = getRequestBody(file); OkHttpClient client = getOkHttpClient(); Request request = new Request.Builder() .url(url) .put(requestBody) .build(); okhttp3.Response response = response = client.newCall(request).execute(); private RequestBody getRequestBody(String filePath) { Medi
4 2023-05-22
编程技术问答社区
无法通过Squid代理测试基于HTTP PUT的文件上传
我可以使用卷发恰好将文件上传到我的Apache Web服务器: echo "[$(date)] file contents." | curl -T - http://WEB-SERVER/upload/sample.put 但是,如果我将鱿鱼代理服务器放在两者之间,那么我将无法: echo "[$(date)] file contents." | curl -x http://SQUID-PROXY:3128 -T - http://WEB-SERVER/upload/sample.put 卷曲报告以下错误: 注意:此错误响应是以HTML格式的,但是我删除了标签以易于阅读. ERROR: The requested URL could not be retrieved ERROR The requested URL could not be retrieved While trying to retrieve the URL: http://WEB
14 2023-05-22
编程技术问答社区
如何在HTTPie中用PUT上传一个文件
我正在搜索语法以编写用httpie上传文件的操作.请您指出我的语法吗?我找不到在官方文档上这样做的方法 解决方案 要使用httpie实现这一目标,您需要做两件事: 设置http方法 to PUT li> 通过文件的内容,有多种方式: 重定向输入: $ http PUT httpbin.org/put Content-Type:image/png
8 2023-05-22
编程技术问答社区
HTTP中的POST和PUT有什么区别?
根据 rfc 2616,§9.5用于创建资源: 该邮政方法用于请求原始服务器接受请求中的实体作为请求line请求 - URI标识的资源的新从属. 根据 rfc 2616,§9.66用于创建或替换资源: PUT方法要求将封闭的实体存储在提供的请求-URI下.如果Request-uri是指已经存在的资源,则应将封闭的实体视为位于原始服务器上的一个修改版本.如果请求-URI不指向现有资源,并且URI能够由请求用户代理将其定义为新资源,则原点服务器可以使用该URI创建资源. 那么,应该使用哪种HTTP方法来创建资源?还是应该支持? 解决方案 总体上: put和post可用于创建. 您必须问:"您正在执行什么操作?",以区分您应该使用的内容.假设您正在设计一个提问的API.如果您想使用帖子,那么您将对问题列表进行此操作.如果您想使用put,那么您将对特定的问题进行此操作. 很棒,两者都可以使用,因此我应该在我的宁静设计中使用哪一个: 您不需要
14 2023-05-22
编程技术问答社区