如何将此java代码转换为php。
server = new URL(url);
HttpURLConnection urlConnection = (HttpURLConnection) server.openConnection() ;
urlConnection.setRequestMethod( method );
urlConnection.setDoInput(true);
urlConnection.setDoOutput(true);
urlConnection.setRequestProperty("Content-Type",mimeType );
if( requestParameter != null)
{
CyberoamLogger.appLog.debug(MODULE+":"+METHOD+"Request parameter: "+requestParameter.toString());
out = new BufferedWriter( new OutputStreamWriter( urlConnection.getOutputStream() ) );
out.write(requestParameter.toString());
out.flush();
out.close() ;
}
urlConnection.connect();
strbuf = new StringBuffer();
is= urlConnection.getInputStream() ;
byte[] buffer = new byte[1024 * 4];
int n = 0;
while (-1 != (n = is.read(buffer)))
strbuf.append(new String(buffer, 0, n));
is.close();
strResponse=strbuf.toString();
CyberoamLogger.appLog.debug(MODULE+METHOD+ " WS Responce in String : "+strResponse);
urlConnection.disconnect();
当我尝试遵循php代码时,我得到服务器拒绝了这个请求,因为请求实体的格式不受请求方法()的请求资源的支持。误差
$curl = curl_init();
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
curl_setopt($curl, CURLOPT_URL, $url);
echo curl_exec($curl);
尝试使用curl设置内容类型header:
$mimeType = "application/json";
curl_setopt($curl, CURLOPT_HTTPHEADER,array("Content-Type: $mimeType"));
// equivalent to your java urlConnection.setRequestProperty("Content-Type",mimeType );
下面是一个准备json的例子:
$data = array(
'name' => 'alex',
'value' => '100'
);
$json_data = json_encode($data); // {"name":"alex","value":"100"}