我正在用食尸鬼向我的子域api.domain.com发出请求。 在同一手机热点上。当我在家时,我的耗时请求需要有www.api.domain.com,但在附近任何需要工作的地方,它都需要api.domain.com并以www失败。我不知道为什么,这正在发生。
这是我的代码。有时它会像这样正常工作。
$client = new GuzzleHttp\Client([
'base_uri' => 'https://api.domain.com',
'timeout' => 10
]);
在我的控制器中
$get = $this->client->request('GET','/dashboard', [
'timeout' => 0,
'headers'=>[
],
'form_params'=> ['param'=>$param]
]);
但是当我更改位置时,它不起作用。我需要通过添加www
对其进行修改$client = new GuzzleHttp\Client([
'base_uri' => 'https://www.api.domain.com',
'timeout' => 10
]);
我的控制器保持不变并且有效
$get = $this->client->request('GET','/dashboard', [
'timeout' => 0,
'headers'=>[
],
'form_params'=> ['param'=>$param]
]);
我遇到一个令人讨厌的错误6
我的.htaccess在我的api中看起来像这样。我对htaccess不太了解,所以如果我犯了一个错误,请纠正我。
RewriteCond %{REQUEST_URI}::$1 ^(/.+)/(.*)::\2$
RewriteRule ^(.*) - [E=BASE:%1]
RewriteCond %{HTTP:Authorization} ^(.*)
RewriteRule .* - [e=Authorization:%1]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [QSA,L]
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} ^www\.api.domain\.com [NC]
RewriteRule (.*) https://api.domain.com/$1 [L,R=301]
答案 0 :(得分:0)
禁用验证SSL
class APIPostRequest {
Future<String> apiRequest(String url, Map jsonMap) async {
HttpClient httpClient = new HttpClient();
HttpClientRequest request = await httpClient.postUrl(Uri.parse(url));
request.headers.set('Accept', 'application/json');
request.headers.set('Content-type', 'application/json');
request.headers
.set('Authorization', "Bearer " + UserConstants.userAccessToken);
request.add(utf8.encode(json.encode(jsonMap)));
HttpClientResponse response = await request.close();
String reply = await utf8.decoder.bind(response).join();
httpClient.close();
return reply;
}
}
您尝试过吗?
答案 1 :(得分:0)
最终,这是该公司制造的服务器配置中的一个问题。 很抱歉困扰您这个问题。