1

次の URL へのリクエストを実行する必要があります。

http://[ユーザー名]:[パスワード]@[サーバー_IP]:[ポート]/some/path/to/some/file

しかし、最終的に生成された URL は、「:」文字が 2 回含まれているため、無効として扱われます。解決策はありますか?

それが私が試したことです:

$process = curl_init('http://[SERVER_IP]:[PORT]/OpenKM/webdav/okm:personal/somefile.mp4');
curl_setopt($process, CURLOPT_HEADER, 1);
curl_setopt($process, CURLOPT_USERPWD, "[USERNAME]:[PASSWORD]");
curl_setopt($process, CURLOPT_TIMEOUT, 30);
curl_setopt($process, CURLOPT_POST, 1);
curl_setopt($process, CURLOPT_RETURNTRANSFER, TRUE);
$return = curl_exec($process);  // $return is FALSE
var_dump(curl_error($process));die();  // Here we see string(23) "Empty reply from server"
4

1 に答える 1

6

%3Aの代わりに ':' のエンコードされた値を入れてください

オンラインで広く入手可能な URL エンコーダー ツールを使用することをお勧めします。ここでそのうちの 1 つを確認してください...

http://meyerweb.com/eric/tools/dencoder/

また、w3school が提供する完全な char エンコーディング リストもここにあります...

http://www.w3schools.com/tags/ref_urlencode.asp

于 2012-10-29T11:07:24.160 に答える