如何为PHP中的Web服务调用生成API密钥

问题描述

我有一个Java程序来生成API密钥,以后将使用curl_exec($ curl)将其用于进行Web服务调用。每当我需要新的APIKEY时,我都会手动运行此Java程序。如何将这个Java程序转换为PHP,这样我可以先使用PHP代码生成API密钥,然后在实际请求中使用生成的APIKEY。我试图使用curl_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();
  }
}

解决方法

感谢您的回复。通过发送如下所示的CURL请求,我能够生成API密钥(如果有人需要参考解决方案):

*ngIf="
 block.tag != 'ADRESATS' &&
 block.tag != 'ADRESAT' &&
"