我想通過張貼到包含我的用戶名和密碼格式在JSON中的.txt文件的身份驗證方法使用PHP身份驗證到Web服務。用我的用戶名和密碼創建一個JSON格式的文本文件?
這不工作,我很難找出爲什麼不。
這是我正在嘗試使用的代碼。首先,我有一個功能用來完成發佈。然後,我爲我的數據文件創建一個變量,爲我的URL創建auth服務。
<?php
function do_post_request($url, $data, $optional_headers = null)
{
$params = array('http' => array(
'method' => 'POST',
'content' => $data
));
if ($optional_headers !== null) {
$params['http']['header'] = $optional_headers;
}
$ctx = stream_context_create($params);
$fp = @fopen($url, 'rb', false, $ctx);
if (!$fp) {
throw new Exception("Problem with $url, $php_errormsg");
}
$response = @stream_get_contents($fp);
if ($response === false) {
throw new Exception("Problem reading data from $url, $php_errormsg");
}
return $response;
}
// Let's get logged in and get an authkey
$url = 'http://service.com/auth';
$data= 'creds.txt';
$authkey = do_post_request($url, $data);
print_r($authkey);
?>
我creds.txt文件的文本:
{ 「身份驗證」:{ 「用戶名」: 「名爲myUsername」, 「密碼」: 「輸入mypassword」 }}
我做錯了什麼?我收到了無效的數據錯誤。我是否需要使用文本文件的完整URL?文本文件格式不正確?
該服務的文檔只能說我需要:
你會在哪一行得到錯誤?此外,它可能是文本文件的內容被讀爲一個字符串,不會被解析爲json ... –
也許服務除了'application/json'頭部? – Nadh
我收到的錯誤說「錯誤」:「未在請求中設置用戶名或密碼」,「error_description」:「用戶名\ /密碼值無效」,「error_code」:「INVALID_LOGIN」 – bflora2