我有一个java程序来生成一个api密钥,该密钥稍后将用于使用curl\u exec($curl)进行web服务调用。每当我需要一个新的apikey时,我都会手动运行这个java程序。如何将这个java程序转换为php,以便首先使用php代码生成api键,然后在实际请求中使用生成的apikey。我试图使用curl\u exec()生成api键,但不知道如何在php中执行dataoutputstream或bufferedreader。有什么建议吗?我可以使用其他替代方法在php中以编程方式生成api键吗?
java程序如下:
import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
public class MyRestApi {
public void Apikey() {
try {
URL url = new URL(
"http://c0016.test.cloud.hpe.com:7001/maximo/oslc/apitoken/create?_lid=testuser1&_lpwd=Test@123");
HttpURLConnection connection = (HttpURLConnection)url.openConnection();
String json = "{\"expiration\":1440,\"userid\":\"1234567\"}";
connection.setRequestProperty("Accept", "application/json");
connection.setRequestProperty("Content-Type", "application/json");
connection.setDoOutput(true);
DataOutputStream d = new DataOutputStream(connection.getOutputStream());
d.writeBytes(json);
d.flush();
d.close();
System.out.println(connection.getResponseCode());
BufferedReader br = new BufferedReader(new InputStreamReader(connection.getInputStream()));
String output;
while ((output = br.readLine()) != null)
System.out.println(output);
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
MyRestApi restapi = new MyRestApi();
restapi.Apikey();
}
}
1条答案
按热度按时间xmd2e60i1#
谢谢你回信。我可以通过如下方式发送一个curl请求来生成api密钥(如果有人需要参考解决方案):