我正在尝试通过wp_remote_post张贴文件。不幸的是,传递给此函数的任何文件流或文件路径(是否带有CURL样式@,是否已添加)都只是被删除,并从有效负载中删除。
我在wp-hackers上找到了一个帖子,但是,它极易被破解,并且容易出错。如果没有从头开始编写完整的HTTP有效负载,真的有没有办法通过此功能传输文件?
如果有兴趣,下面是使用CURL样式(用@开头的路径)的示例代码块:
$body["attachment[{$i}]"] = "@{$attachment}";
$data = array(
'body' => $body,
'headers' => array(
'Authorization' => 'Basic ' . base64_encode( "user:{$apiKey}" )));
$url = "https://api.someservice.net/{$domain}/endpoint";
$response = wp_remote_post( $url, $data );
Run Code Online (Sandbox Code Playgroud)
谢谢!
小智 -2
发布数据应作为数组在正文中发送。传递帖子数据的示例:
$response = wp_remote_post( $url, array(
'method' => 'POST',
'timeout' => 45,
'redirection' => 5,
'httpversion' => '1.0',
'blocking' => true,
'headers' => array(),
'body' => array( 'username' => 'bob', 'password' => '1234xyz' ),
'cookies' => array()
)
);
if ( is_wp_error( $response ) ) {
$error_message = $response->get_error_message();
echo "Something went wrong: $error_message";
} else {
echo 'Response:<pre>';
print_r( $response );
echo '</pre>';
}
Run Code Online (Sandbox Code Playgroud)
在上面的示例中,$response['body'] 将包含服务器返回的实际页面内容。
| 归档时间: |
|
| 查看次数: |
944 次 |
| 最近记录: |