把php代码转成java代码 5
publicfunctionPOST($data){$this->genPostData($data);$curl=curl_init();curl_setopt($cu...
public function POST($data) {
$this->genPostData($data);
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $this->url);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($curl, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($curl, CURLOPT_AUTOREFERER, 1);
curl_setopt($curl, CURLOPT_HTTPHEADER, $this->headers);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $this->postData);
curl_setopt($curl, CURLOPT_TIMEOUT, 30);
curl_setopt($curl, CURLOPT_HEADER, 0);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$tmpRet = curl_exec($curl);
if (curl_errno($curl)) {
echo '[error] CURL ERROR: ' . curl_error($curl) . PHP_EOL;
}
curl_close($curl);
$tmpArray = json_decode($tmpRet, true);
if (isset($tmpArray['header']) && isset($tmpArray['body'])) {
$this->retHead = $tmpArray['header'];
$this->retBody = $tmpArray['body'];
$this->retRaw = $tmpRet;
}
else {
echo "[error] SERVICE ERROR: {$tmpRet}" . PHP_EOL;
}
} 展开
$this->genPostData($data);
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $this->url);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($curl, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($curl, CURLOPT_AUTOREFERER, 1);
curl_setopt($curl, CURLOPT_HTTPHEADER, $this->headers);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $this->postData);
curl_setopt($curl, CURLOPT_TIMEOUT, 30);
curl_setopt($curl, CURLOPT_HEADER, 0);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$tmpRet = curl_exec($curl);
if (curl_errno($curl)) {
echo '[error] CURL ERROR: ' . curl_error($curl) . PHP_EOL;
}
curl_close($curl);
$tmpArray = json_decode($tmpRet, true);
if (isset($tmpArray['header']) && isset($tmpArray['body'])) {
$this->retHead = $tmpArray['header'];
$this->retBody = $tmpArray['body'];
$this->retRaw = $tmpRet;
}
else {
echo "[error] SERVICE ERROR: {$tmpRet}" . PHP_EOL;
}
} 展开
3个回答
展开全部
没有办法转。
希望我的回答可以帮到你,有什么不懂可以追问。
希望我的回答可以帮到你,有什么不懂可以追问。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
把男的变成女的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
java:
1、用hashmap存储元素,键值对方式。
Map<String, String> hashMap = new HashMap<String, String>(){
{
put("appid", "123");
put("apikey", "456");
put("secretKey", "789");
put("timestamp", "当前UNIX 时间戳,秒数,java中获取");
}
};
2、java中可以通过Timestamp获得UNIX 时间戳。
3、然后对hashmap进行升序排序。
4、然后写一个方法遍历hashmap,拼接成字符串格式为apikey=456&appid=123&secretkey=789×tamp=1389379498
然后对该字符串进行encoded编码,输出格式为apikey=456&appid=123&secretkey=789×tamp=1389379498
5、通过java中HMAC-SHA1算法加密该字符串,$secretKey为安全密钥。
6、再通过base64_encode加密第5步产生的字符串。这是最终sig结果。
java易混淆概念之类变量、实例变量、局部变量
类变量、实例变量、局部变量类变量是类中独立于方法之外的变量,用static 修饰。
实例变量也是类中独立于方法之外的变量,不过没有static修饰。
局部变量是类的方法中的变量。
看下面的伪代码说明:
public class Variable{
static int allClicks=0; //类变量
String str="hello world"; //实例变量
public void method(){
int i =0; //局部变量
}
}
实例变量也称为:“域”,“成员变量”,在实体类或数据类中被称为“属性”或“字段”。当实例变量可以改变时,被称为对象的状态。
2. final用于常量的声明,规范要求常量的变量名是大写的。
3. statci 在java 里面用于对类方法和属性进行修饰,其作用是什么呢?
有两种情况是non-static无法做到的,这时你就要使用statice。
第一种:你希望不论产生了多少个对象,或不存在任何对象的情形下,那些特定数据的存储空间都只有一份;
第二种:你希望某个函数不要和class object绑在一起。即使没有产生任何object,外界还是可以调用其static函数,或是取用其static data
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
php代码没几行,信息量很大,翻译成java代码行数量比较大。仅提供思路和php代码解释。
---------------
<?php
$appid = "123"; //数组里面的值,id。
$apikey = "456"; //数组里面的值,为加密密钥。
$secretKey ="789"; //数组里面的值,安全密钥。
$timestamp = time(); ////数组里面的值,获得当前时间。
//UNIX 时间戳(timestamp)是 PHP 中关于时间日期一个很重要的概念,它表示从 1970年1月1日 00:00:00 到当前时间的秒数之和。
//echo输出$timestamp变量值,例如输出了1389379960
echo $timestamp;
//定义数组。以键值对方式存储。
//'appid' 'apikey' 'secretkey' 'timestamp'是key,键。
//$appid $apikey, $secretKey $timestamp是value,值。
$params = array('appid'=>$appid, 'apikey'=>$apikey, 'secretkey'=>$secretKey, 'timestamp'=>$timestamp);
//对数组键值进行升序排序。排序结果为apikey appid secretkey timestamp
ksort($params);
//拼接数组中的参数,并且用encoded编码。
//http_build_query -- 生成 url-encoded 之后的请求字符串。当数组没有写下标时,就会用第二个参数结合当前默认下标当前缀。
//$param_uri变量值,结果为apikey=456&appid=123&secretkey=789×tamp=1389379498
$param_uri = http_build_query($params,'','&');
echo $param_uri; //echo输出结果为apikey=456&appid=123&secretkey=789×tamp=1389379498
//先使用调用hash_hmac方法加密,HMAC-SHA1算法。
//$secretKey为安全密钥,$param_uri为要加密的明文。'sha1'是HMAC-SHA1算法。
//再调用base64_encode方法加密,base64_encode 使用 MIME base64 对数据进行编码。
$sig = base64_encode(hash_hmac('sha1', $param_uri, $secretKey));
?>
java:
1、用hashmap存储元素,键值对方式。
Map<String, String> hashMap = new HashMap<String, String>(){
{
put("appid", "123");
put("apikey", "456");
put("secretKey", "789");
put("timestamp", "当前UNIX 时间戳,秒数,java中获取");
}
};
2、java中可以通过Timestamp获得UNIX 时间戳。
3、然后对hashmap进行升序排序。
4、然后写一个方法遍历hashmap,拼接成字符串格式为apikey=456&appid=123&secretkey=789×tamp=1389379498
然后对该字符串进行encoded编码,输出格式为apikey=456&appid=123&secretkey=789×tamp=1389379498
5、通过java中HMAC-SHA1算法加密该字符串,$secretKey为安全密钥。
6、再通过base64_encode加密第5步产生的字符串。这是最终sig结果。
1、用hashmap存储元素,键值对方式。
Map<String, String> hashMap = new HashMap<String, String>(){
{
put("appid", "123");
put("apikey", "456");
put("secretKey", "789");
put("timestamp", "当前UNIX 时间戳,秒数,java中获取");
}
};
2、java中可以通过Timestamp获得UNIX 时间戳。
3、然后对hashmap进行升序排序。
4、然后写一个方法遍历hashmap,拼接成字符串格式为apikey=456&appid=123&secretkey=789×tamp=1389379498
然后对该字符串进行encoded编码,输出格式为apikey=456&appid=123&secretkey=789×tamp=1389379498
5、通过java中HMAC-SHA1算法加密该字符串,$secretKey为安全密钥。
6、再通过base64_encode加密第5步产生的字符串。这是最终sig结果。
java易混淆概念之类变量、实例变量、局部变量
类变量、实例变量、局部变量类变量是类中独立于方法之外的变量,用static 修饰。
实例变量也是类中独立于方法之外的变量,不过没有static修饰。
局部变量是类的方法中的变量。
看下面的伪代码说明:
public class Variable{
static int allClicks=0; //类变量
String str="hello world"; //实例变量
public void method(){
int i =0; //局部变量
}
}
实例变量也称为:“域”,“成员变量”,在实体类或数据类中被称为“属性”或“字段”。当实例变量可以改变时,被称为对象的状态。
2. final用于常量的声明,规范要求常量的变量名是大写的。
3. statci 在java 里面用于对类方法和属性进行修饰,其作用是什么呢?
有两种情况是non-static无法做到的,这时你就要使用statice。
第一种:你希望不论产生了多少个对象,或不存在任何对象的情形下,那些特定数据的存储空间都只有一份;
第二种:你希望某个函数不要和class object绑在一起。即使没有产生任何object,外界还是可以调用其static函数,或是取用其static data
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
php代码没几行,信息量很大,翻译成java代码行数量比较大。仅提供思路和php代码解释。
---------------
<?php
$appid = "123"; //数组里面的值,id。
$apikey = "456"; //数组里面的值,为加密密钥。
$secretKey ="789"; //数组里面的值,安全密钥。
$timestamp = time(); ////数组里面的值,获得当前时间。
//UNIX 时间戳(timestamp)是 PHP 中关于时间日期一个很重要的概念,它表示从 1970年1月1日 00:00:00 到当前时间的秒数之和。
//echo输出$timestamp变量值,例如输出了1389379960
echo $timestamp;
//定义数组。以键值对方式存储。
//'appid' 'apikey' 'secretkey' 'timestamp'是key,键。
//$appid $apikey, $secretKey $timestamp是value,值。
$params = array('appid'=>$appid, 'apikey'=>$apikey, 'secretkey'=>$secretKey, 'timestamp'=>$timestamp);
//对数组键值进行升序排序。排序结果为apikey appid secretkey timestamp
ksort($params);
//拼接数组中的参数,并且用encoded编码。
//http_build_query -- 生成 url-encoded 之后的请求字符串。当数组没有写下标时,就会用第二个参数结合当前默认下标当前缀。
//$param_uri变量值,结果为apikey=456&appid=123&secretkey=789×tamp=1389379498
$param_uri = http_build_query($params,'','&');
echo $param_uri; //echo输出结果为apikey=456&appid=123&secretkey=789×tamp=1389379498
//先使用调用hash_hmac方法加密,HMAC-SHA1算法。
//$secretKey为安全密钥,$param_uri为要加密的明文。'sha1'是HMAC-SHA1算法。
//再调用base64_encode方法加密,base64_encode 使用 MIME base64 对数据进行编码。
$sig = base64_encode(hash_hmac('sha1', $param_uri, $secretKey));
?>
java:
1、用hashmap存储元素,键值对方式。
Map<String, String> hashMap = new HashMap<String, String>(){
{
put("appid", "123");
put("apikey", "456");
put("secretKey", "789");
put("timestamp", "当前UNIX 时间戳,秒数,java中获取");
}
};
2、java中可以通过Timestamp获得UNIX 时间戳。
3、然后对hashmap进行升序排序。
4、然后写一个方法遍历hashmap,拼接成字符串格式为apikey=456&appid=123&secretkey=789×tamp=1389379498
然后对该字符串进行encoded编码,输出格式为apikey=456&appid=123&secretkey=789×tamp=1389379498
5、通过java中HMAC-SHA1算法加密该字符串,$secretKey为安全密钥。
6、再通过base64_encode加密第5步产生的字符串。这是最终sig结果。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询