Wie schreibe ich einen Test für einen HTTPS-Web-Scraper?Java

Java-Forum
Anonymous
 Wie schreibe ich einen Test für einen HTTPS-Web-Scraper?

Post by Anonymous »

In Java habe ich einen Web -Schaber geschrieben. Die Zielwebsite ist sehr dynamisch, was es sehr schwierig macht, einen Test für meinen Web -Schaber zu schreiben. Die Website ist ein https (https://example.com/sub/moresub). Ich habe versucht, Wiremock und Hoverfly ohne Erfolg zu verwenden. Web-Scraper-Code, also denke ich, dass ich etwas Ähnliches wie ein "Mann in der Mitte" brauche, der die Anfrage an die Zielseite abfängt und stattdessen meine benutzerdefinierte Antwort sendet. HTTPS-Web-Scraper? " Stattdessen fragen nach "Mann in der Mitte usw." liegt daran, dass ich nicht weiß, ob "Mann in der Mitte" die Lösung ist und ob
verspottete Bibliotheken wie Wiremock, Mockito, Servermock usw. fähig sind und ich nur nicht weiß, wie man sie benutzt. Ich weiß nicht, ob Java so etwas wie einen internen Proxy hat, der mit Java -Eigenschaften festgelegt werden kann, oder selbst wenn es eine bessere Lösung gibt. src = "https://i.sstatic.net/o9fgkhg1.png"/>
Was habe ich getan:

Code: Select all

WireMockServer wireMockServer = new WireMockServer(
WireMockConfiguration.wireMockConfig()
.port(80)  // HTTP port
.httpsPort(443)  // HTTPS port
.enableBrowserProxying(true)  // Proxy Mode
);

wireMockServer.start();

wireMockServer.stubFor(WireMock.get(WireMock.anyUrl())
.atPriority(1)
.willReturn(WireMock.aResponse()
.withStatus(200)
.withBody("mock response from WireMock")
.withHeader("Content-Type", "text/plain")
)
);

wireMockServer.stubFor(WireMock.any(WireMock.anyUrl())
.atPriority(10)
.willReturn(WireMock.aResponse()
.proxiedFrom("https://example.com")
)
);
< /code>
Es funktioniert in CURL -Konfigurieren von Proxy: < /p>
ohne Proxy:

i. curl < /p>
Ich habe versucht, Proxy in Java zu konfigurieren, folgt diesem Stapel -Overlow -Antwort: Wie kann ich den Proxy so einstellen, dass der JVM
verwendet wird, aber sogar konfiguriert -Dhttps.Proxy* Die Antwort kehrte aus der "Apache -HTTPCOMPONTION -DHTTPS. Wiremock ". < /P>
Verwenden von Curl, ohne den Proxy mit"-Proxy "festzulegen, gibt die Remote-HTML-Antwort zurück.java.net.SocketException: Can't connect to SOCKS proxy:Connection refused: connect
at java.base/java.net.SocksSocketImpl.connect(SocksSocketImpl.java:359)
at java.base/java.net.Socket.connect(Socket.java:751)
at java.base/java.net.Socket.connect(Socket.java:686)
at java.base/java.net.Socket.(Socket.java:555)
at java.base/java.net.Socket.(Socket.java:356)
at com.intellij.rt.testng.RemoteTestNGStarter.main(RemoteTestNGStarter.java:45)

Process finished with exit code 130

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post