मुझे यकीन है कि आप पिछले 2 वर्षों में एक समाधान कहीं पाया है हूँ, लेकिन निम्नलिखित एक समाधान है कि काम करता है आपकी अनुरोधित साइट
package javasandbox;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
/**
*
* @author Ryan.Oglesby
*/
public class JavaSandbox {
private static String sURL;
/**
* @param args the command line arguments
*/
public static void main(String[] args) throws MalformedURLException, IOException {
sURL = "http://www.cumhuriyet.com.tr/?hn=298710";
System.out.println(sURL);
URL url = new URL(sURL);
HttpURLConnection httpCon = (HttpURLConnection) url.openConnection();
//set http request headers
httpCon.addRequestProperty("Host", "www.cumhuriyet.com.tr");
httpCon.addRequestProperty("Connection", "keep-alive");
httpCon.addRequestProperty("Cache-Control", "max-age=0");
httpCon.addRequestProperty("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8");
httpCon.addRequestProperty("User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.101 Safari/537.36");
httpCon.addRequestProperty("Accept-Encoding", "gzip,deflate,sdch");
httpCon.addRequestProperty("Accept-Language", "en-US,en;q=0.8");
//httpCon.addRequestProperty("Cookie", "JSESSIONID=EC0F373FCC023CD3B8B9C1E2E2F7606C; lang=tr; __utma=169322547.1217782332.1386173665.1386173665.1386173665.1; __utmb=169322547.1.10.1386173665; __utmc=169322547; __utmz=169322547.1386173665.1.1.utmcsr=stackoverflow.com|utmccn=(referral)|utmcmd=referral|utmcct=/questions/8616781/how-to-get-a-web-pages-source-code-from-java; __gads=ID=3ab4e50d8713e391:T=1386173664:S=ALNI_Mb8N_wW0xS_wRa68vhR0gTRl8MwFA; scrElm=body");
HttpURLConnection.setFollowRedirects(false);
httpCon.setInstanceFollowRedirects(false);
httpCon.setDoOutput(true);
httpCon.setUseCaches(true);
httpCon.setRequestMethod("GET");
BufferedReader in = new BufferedReader(new InputStreamReader(httpCon.getInputStream(), "UTF-8"));
String inputLine;
StringBuilder a = new StringBuilder();
while ((inputLine = in.readLine()) != null)
a.append(inputLine);
in.close();
System.out.println(a.toString());
httpCon.disconnect();
}
}
ध्यान दें कि आपको केवल उस स्रोत को प्राप्त होगा जो यूआरएल खोलते समय शुरू में वितरित किया जाता है। AJAX के माध्यम से अतिरिक्त सामग्री लोड की जा सकती है और जब आप प्रारंभिक स्ट्रीम को पढ़ते हैं तो आप उस सामग्री को नहीं देख पाएंगे। - उदाहरण के तौर पर, फ़ायरफ़ॉक्स में http://demo.vaadin.com/sampler खोलें और फिर पृष्ठ स्रोत कोड खोलें। आपको वहां प्रदर्शित सभी सामग्री के लिए स्रोत नहीं दिखाई देगा। – Thomas
@cerq: * "वेब पेज के स्रोत कोड" की आपकी परिभाषा के आधार पर * आप कर सकते हैं या आप इसे नहीं कर सकते हैं। उदाहरण के लिए यह तर्क दिया जा सकता है कि "स्रोत कोड" का कहना है कि * .jsp * द्वारा उत्पन्न एक वेबपृष्ठ * .jsp * फ़ाइल है और ** ** उत्पन्न नहीं हुआ HTML ... आप क्या कर रहे हैं एचटीएमएल है, न कि "स्रोत कोड"। कई मामलों में "स्रोत कोड" सर्वर पर होता है और सर्वर को पायरेट करने से कम आप बस इसे एक्सेस नहीं कर सकते हैं। – TacticalCoder
@ थॉमस मुझे लगता है कि मेरी समस्या उन चीजों के बारे में है जो आप बताते हैं। तो क्या सभी प्रदर्शित सामग्री स्रोत प्राप्त करने का कोई तरीका है? – brtb