fsockopen equivalent in JSP

前端 未结 3 1106
离开以前
离开以前 2021-01-16 09:15

How do i go about converting this code to JSP

Any help appreciated..!

$fp = fsockopen(\"www.example.com\", 80, $errno, $errstr, 30);
if (!$fp) {
             


        
相关标签:
3条回答
  • 2021-01-16 09:25

    Check this out it works.......

    <%@ page contentType="text/html" import="java.io.*, java.net.*" %>
    
    <% 
        try {
            Socket s = new Socket("www.java2s.com", 80);
    
            BufferedReader in = new BufferedReader(new 
                InputStreamReader(s.getInputStream()));
            PrintWriter socketOut = new PrintWriter(s.getOutputStream());
    
            socketOut.print("GET /index.html\n\n");
            socketOut.flush();
    
            String line;
    
            while ((line = in.readLine()) != null){
                out.println(line);
            }
    
        } catch (Exception e){}
    %>
    
    0 讨论(0)
  • 2021-01-16 09:29

    You can use the JSTL taglib for this. First declare the namespace at the top of the jsp using

    <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
    

    And then use the c:import tag to include content from the specified url:

    <c:import url="htp://www.example.com/" />
    
    0 讨论(0)
  • 2021-01-16 09:40

    You can do this with the Apache HTTP Components library. Something like the following should work with the HTTP Components library:

    <%@ page import="org.apache.http.*, org.apache.http.impl.*, org.apache.http.params.*, org.apache.http.protocol.*, org.apache.http.message.BasicHttpRequest, org.apache.http.util.EntityUtils,  java.net.Socket" %>
    
    <%
    HttpParams params = new SyncBasicHttpParams();
    HttpProtocolParams.setVersion(params, HttpVersion.HTTP_1_1);
    HttpProtocolParams.setContentCharset(params, "UTF-8");
    HttpProtocolParams.setUserAgent(params, "HttpComponents/1.1");
    HttpProtocolParams.setUseExpectContinue(params, true);
    
    HttpProcessor httpproc = new ImmutableHttpProcessor(new HttpRequestInterceptor[] {
            new RequestContent(),
            new RequestTargetHost(),
            new RequestConnControl(),
            new RequestUserAgent(),
            new RequestExpectContinue()});
    
    HttpRequestExecutor httpexecutor = new HttpRequestExecutor();
    
    HttpContext context = new BasicHttpContext(null);
    HttpHost host = new HttpHost("www.example.com", 80);
    
    DefaultHttpClientConnection conn = new DefaultHttpClientConnection();
    ConnectionReuseStrategy connStrategy = new DefaultConnectionReuseStrategy();
    
    context.setAttribute(ExecutionContext.HTTP_CONNECTION, conn);
    context.setAttribute(ExecutionContext.HTTP_TARGET_HOST, host);
    
    try 
    {        
         Socket socket = new Socket(host.getHostName(), host.getPort());
         conn.bind(socket, params);
    
         BasicHttpRequest request = new BasicHttpRequest("GET", "/");
    
    
         request.setParams(params);
         httpexecutor.preProcess(request, httpproc, context);
         HttpResponse response = httpexecutor.execute(request, conn, context);
         response.setParams(params);
         httpexecutor.postProcess(response, httpproc, context);
    
    %>
    <%=EntityUtils.toString(response.getEntity())%>
    <%
    } 
    finally 
    {
        conn.close();
    }
    %>
    
    0 讨论(0)
提交回复
热议问题