微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

require_oncehttp:// localhost:8080 / JavaBridge / java / Java.inc:打开流失败:HTTP请求失败!在/Library/WebServer/Documents/test.php中

如何解决require_oncehttp:// localhost:8080 / JavaBridge / java / Java.inc:打开流失败:HTTP请求失败!在/Library/WebServer/Documents/test.php中

我尝试使用此代码连接PHP以连接Java应用程序

<?PHP 
    echo "Connecting...\r\n";
    require_once("http://localhost:8080/JavaBridge/java/Java.inc");
?>

但是当我想尝试连接时,出现了这样的错误

Connecting...
Warning: require_once(http://localhost:8080/JavaBridge/java/Java.inc): Failed to open stream: HTTP request Failed! in /Library/WebServer/Documents/test.PHP on line 3

Fatal error: require_once(): Failed opening required 'http://localhost:8080/JavaBridge/java/Java.inc' (include_path='.:') in /Library/WebServer/Documents/test.PHP on line 3

我尝试打开 使用的本地主机和127.0.0.1 allowed_url_include =上

我在tcp套接字的PHP java网桥中设置了仅使用端口8080

使用此代码

// 
// Decompiled by Procyon v0.5.36
// 

package PHP.java.bridge.http;

import java.net.socket;
import java.net.UnkNownHostException;
import java.net.InetAddress;
import java.io.IOException;
import java.net.ServerSocket;

public class TcpserverSocket implements ISocketFactory
{
    public static int TCP_PORT_BASE;
    private ServerSocket sock;
    private int port;
    boolean local;
    
    public static ISocketFactory create(String name,final int backlog) throws IOException {
        boolean local = false;
        if (name == null) {
            throw new NullPointerException("name");
        }
        if (name.startsWith("INET:")) {
            name = name.substring(5);
        }
        else if (name.startsWith("INET_LOCAL:")) {
            local = true;
            name = name.substring(11);
        }
        final int p = Integer.parseInt(name);
        final TcpserverSocket s = new TcpserverSocket(p,backlog,local);
        return s;
    }
    
    private ServerSocket newServerSocket(final int port,final int backlog) throws IOException {
        try {
            if (this.local) {
                return new ServerSocket(port,InetAddress.getByName("127.0.0.1"));
            }
        }
        catch (UnkNownHostException ex) {}
        return new ServerSocket(port,backlog);
    }
    
    private void findFreePort(final int start,final int backlog) {
        int port = start;
        while (port < start + 100) {
            try {
                this.sock = this.newServerSocket(port,backlog);
                this.port = port;
                return;
            }
            catch (IOException e) {
                ++port;
                continue;
            }
        }
    }
    
    private TcpserverSocket(final int port,final int backlog,final boolean local) throws IOException {
        this.local = local;
        if (port == 0) {
            this.findFreePort(TcpserverSocket.TCP_PORT_BASE,backlog);
        }
        else {
            this.sock = this.newServerSocket(port,backlog);
            this.port = port;
        }
    }
    
    @Override
    public void close() throws IOException {
        this.sock.close();
    }
    
    @Override
    public Socket accept() throws IOException {
        final Socket s = this.sock.accept();
        s.setTcpNoDelay(true);
        return s;
    }
    
    @Override
    public String getSocketName() {
        return String.valueOf(this.port);
    }
    
    @Override
    public String toString() {
        return (this.local ? "INET_LOCAL:" : "INET:") + this.getSocketName();
    }
    
    static {
     //   TcpserverSocket.TCP_PORT_BASE = 9267;
        TcpserverSocket.TCP_PORT_BASE = 8080;
    }
}

在我的独立帐户中,我必须强制仅端口8080使用此代码

public void init(final String[] s) {
    String sockname = null;
    int logLevel = -1;
   // final String tcpsocketName = "9267";
    final String tcpsocketName = "8080";
    if (s.length > 3) {
        this.checkOption(s);
    }
    try {
        if (s.length > 0) {
            sockname = s[0];
            if (sockname.startsWith("-")) {
                this.checkOption(s);
            }
        }
        try {
            if (s.length > 1) {
                logLevel = Integer.parseInt(s[1]);
            }
        }
        catch (NumberFormatException e2) {
            this.usage();
        }
        catch (Throwable t) {
            t.printstacktrace();
        }
        if (s.length == 0) {
            try {
             /*   final int tcpsocket = Integer.parseInt(tcpsocketName);
                final int freeJavaPort = findFreePort(tcpsocket);
                final int freeHttpPort = findFreePort(8080);
                final int freeHttpsPort = findFreePort(8443);
                final Object result = JOptionPane.showInputDialog(null,"Start a socket listener on port","Starting the PHP/Java Bridge ...",3,null,new String[] { "INET_LOCAL:" + freeJavaPort,"INET:" + freeJavaPort,"HTTP_LOCAL:" + freeHttpPort,"HTTP:" + freeHttpPort,"HTTPS_LOCAL:" + freeHttpsPort,"HTTPS:" + freeHttpsPort },"HTTP_LOCAL:" + freeHttpPort);
                    //final Object result = 8080;
                if (result == null) {
                    System.exit(0);
                }*/
                //sockname = result.toString();
                sockname = "8080";
            }
            catch (Throwable t2) {}
        }
        if (s.length == 0) {
            TcpserverSocket.TCP_PORT_BASE = Integer.parseInt(tcpsocketName);
        }
        if (checkServlet(logLevel,sockname,s)) {
            return;
        }
        final ISocketFactory socket = bind(logLevel,sockname);
        if ("true".equals(System.getProperty("PHP.java.bridge.test.startup"))) {
            System.exit(0);
        }
        JavaBridge.initLog(String.valueOf(socket),logLevel,s);
        JavaBridge.init(socket,s);
    }
    catch (Exception e) {
        throw new RuntimeException(e);
    }
}

如何解决我的问题?我已经尝试在其他文档中进行搜索,但是如果我使用8080端口强制选择,我仍然会出错

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。