0
アプリケーションでbible APIを使用しようとしています。ここで私は次のCURL呼び出しをC#に変換するには
curl -L -u #{API Token}:X -k https://bibles.org/v2/verses/eng-GNTD:Acts.8.34.xml
- -Lオプションを確認する必要があり、次のカールコールがリダイレクトに従うことはcURLに指示しています。
- HTTP基本認証でユーザー名とパスワードを指定する-uオプション。 APIトークンはユーザー名として与えられます。パスワードはサーバによって無視された なので、必要なものを置くことができます。私たちの場合 "X"
- -kオプションは、SSL証明書を検証しないようにcURLに指示するために使用されます。
は今のドキュメントは、私は次のようにC#でこれを変更しようとしている
<?php
$token = '#{API Token}';
$url = 'https://bibles.org/v2/verses/eng-GNTD:Acts.8.34.xml';
// Set up cURL
$ch = curl_init();
// Set the URL
curl_setopt($ch, CURLOPT_URL, $url);
// don't verify SSL certificate
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
// Return the contents of the response as a string
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// Follow redirects
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
// Set up authentication
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt($ch, CURLOPT_USERPWD, "$token:X");
// Do the request
$response = curl_exec($ch);
curl_close($ch);
print($response);
?>
以下の通りです。このAPIを使用するために私たちにPHPコードを示します。しかし、私は401(Unauthorizedコード)を取得します。何が間違っているのですか?
string apiToken = "#{myAPIToken}";
string url = "https://bibles.org/v2/verses/eng-GNTD:Acts.8.34.xml";
WebRequest myReq = WebRequest.Create(url);
CredentialCache mycache = new CredentialCache();
myReq.Headers["Authorization"] = Convert.ToBase64String(Encoding.ASCII.GetBytes(apiToken + ":X"));
WebResponse wr = myReq.GetResponse();
Stream receiveStream = wr.GetResponseStream();
StreamReader reader = new StreamReader(receiveStream, Encoding.UTF8);
string content = reader.ReadToEnd();