binux / pyspider

A Powerful Spider(Web Crawler) System in Python.
http://docs.pyspider.org/
Apache License 2.0
16.46k stars 3.69k forks source link

Error to crawl HTTPS website #372

Open phongtnit opened 8 years ago

phongtnit commented 8 years ago

Hello,

I tried to crawl https website and the following appears:

[E 160108 21:12:27 base_handler:194] HTTP 599: gnutls_handshake() failed: Handshake failed
    Traceback (most recent call last):
      File "/usr/local/lib/python2.7/dist-packages/pyspider/libs/base_handler.py", line 187, in run_task
        result = self._run_task(task, response)
      File "/usr/local/lib/python2.7/dist-packages/pyspider/libs/base_handler.py", line 166, in _run_task
        response.raise_for_status()
      File "/usr/local/lib/python2.7/dist-packages/pyspider/libs/response.py", line 183, in raise_for_status
        raise http_error
    HTTPError: HTTP 599: gnutls_handshake() failed: Handshake failed

My code:

#!/usr/bin/env python
# -*- encoding: utf-8 -*-
# Created on 2015-12-31 02:19:07

import re
from pyspider.libs.base_handler import *

class Handler(BaseHandler):
    crawl_config = {
    }

    # Crawl home page
    def on_start(self):
        self.crawl('https://www.ebooks-it.net', callback=self.index_page, age=5*60, auto_recrawl=True)

    @config(age=4 * 60 * 60)
    def index_page(self, response):
        for each in response.doc('a[href^="https\:\/\/www.ebooks-it.net\/ebook').items():
            # Item link: https://www.ebooks-it.net/ebook/genetic-algorithms-in-java-basics
            self.crawl(each.attr.href, priority=9, callback=self.detail_page)

    @config(priority=2)
    def detail_page(self, response):
    ....

Please help me to fix it! Many thanks,

binux commented 8 years ago

It's something related to libcurl, particularly the protocol SSL is using: TLS 1.2 connection using TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 from my computer

you can try command curl -v https://www.ebooks-it.net in shell to get more information about that.

phongtnit commented 8 years ago

Hello binux,

I executed the command curl -v https://www.ebooks-it.net, and the result show that the command executed sucessfully:

* Rebuilt URL to: https://www.ebooks-it.net/
* Hostname was NOT found in DNS cache
*   Trying 104.28.18.94...
* Connected to www.ebooks-it.net (104.28.18.94) port 443 (#0)
* successfully set certificate verify locations:
*   CAfile: none
  CApath: /etc/ssl/certs
* SSLv3, TLS handshake, Client hello (1):
* SSLv3, TLS handshake, Server hello (2):
* SSLv3, TLS handshake, CERT (11):
* SSLv3, TLS handshake, Server key exchange (12):
* SSLv3, TLS handshake, Server finished (14):
* SSLv3, TLS handshake, Client key exchange (16):
* SSLv3, TLS change cipher, Client hello (1):
* SSLv3, TLS handshake, Finished (20):
* SSLv3, TLS change cipher, Client hello (1):
* SSLv3, TLS handshake, Finished (20):
* SSL connection using ECDHE-ECDSA-AES128-GCM-SHA256
* Server certificate:
*        subject: OU=Domain Control Validated; OU=PositiveSSL Multi-Domain; CN=sni53472.cloudflaressl.com
*        start date: 2015-12-28 00:00:00 GMT
*        expire date: 2016-07-03 23:59:59 GMT
*        subjectAltName: www.ebooks-it.net matched
*        issuer: C=GB; ST=Greater Manchester; L=Salford; O=COMODO CA Limited; CN=COMODO ECC Domain Validation Secure Server CA 2
*        SSL certificate verify ok.
> GET / HTTP/1.1
> User-Agent: curl/7.35.0
> Host: www.ebooks-it.net
> Accept: */*
>
< HTTP/1.1 200 OK
* Server cloudflare-nginx is not blacklisted
< Server: cloudflare-nginx
< Date: Sat, 09 Jan 2016 12:59:45 GMT
< Content-Type: text/html; charset=UTF-8
< Transfer-Encoding: chunked
< Connection: keep-alive
< Set-Cookie: __cfduid=db4dc27234e859df7a59a50aeb753884c1452344384; expires=Sun, 08-Jan-17 12:59:44 GMT; path=/; domain=.ebooks-it.net; HttpOnly
< Expires: Thu, 19 Nov 1981 08:52:00 GMT
< Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0, no-cache
< Pragma: no-cache
< Set-Cookie: PHPSESSID=526cbaa03142a48074a5bb7e4bcac5c3; path=/
< Vary: Accept-Encoding,User-Agent
< CF-RAY: 26205231e9ce09d0-ORD
<
<!DOCTYPE html>
.....
binux commented 8 years ago

What's the output of curl --version and python -c "import pycurl; print pycurl.version"

some related QA: http://askubuntu.com/questions/186847/error-gnutls-handshake-failed-when-connecting-to-https-servers http://askubuntu.com/questions/666682/pycurl-error-35-gnutls-handshake-failed-handshake-failed

phongtnit commented 8 years ago

The result of curl --version command is

curl 7.35.0 (x86_64-pc-linux-gnu) libcurl/7.35.0 OpenSSL/1.0.1f zlib/1.2.8 libidn/1.28 librtmp/2.3
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtmp rtsp smtp smtps telnet tftp
Features: AsynchDNS GSS-Negotiate IDN IPv6 Largefile NTLM NTLM_WB SSL libz TLS-SRP

The result of python -c "import pycurl; print pycurl.version" command is

PycURL/7.19.3 libcurl/7.35.0 GnuTLS/2.12.23 zlib/1.2.8 libidn/1.28 librtmp/2.3

How to fix that? Thanks for your support,

binux commented 8 years ago

They are using different SSL libs, it's not a pyspider issue. The links I pasted above may help, you can also search with keywords like 'pycurl gnutls gnutls_handshake'

phongtnit commented 8 years ago

Hello,

I reinstalled pycurl with OpenSSL, the result of `python -c "import pycurl; print pycurl.version" now is:

PycURL/7.21.5 libcurl/7.35.0 OpenSSL/1.0.1f zlib/1.2.8 libidn/1.28 librtmp/2.3

And curl --version is:

curl 7.35.0 (x86_64-pc-linux-gnu) libcurl/7.35.0 OpenSSL/1.0.1f zlib/1.2.8 libidn/1.28 librtmp/2.3

However, the error still appears when I crawled https website:

[E 160110 04:56:53 base_handler:194] HTTP 599: gnutls_handshake() failed: Handshake failed
    Traceback (most recent call last):
      File "/usr/local/lib/python2.7/dist-packages/pyspider/libs/base_handler.py", line 187, in run_task
        result = self._run_task(task, response)
      File "/usr/local/lib/python2.7/dist-packages/pyspider/libs/base_handler.py", line 166, in _run_task
        response.raise_for_status()
      File "/usr/local/lib/python2.7/dist-packages/pyspider/libs/response.py", line 183, in raise_for_status
        raise http_error
    HTTPError: HTTP 599: gnutls_handshake() failed: Handshake failed

So what should I do next to fix it?

binux commented 8 years ago

It's strange, if pycurl is not using gnutls why it's raising an gnutls_handshake error here. Did you restart the fetcher after upgrade? Is it using the right version of python?

phongtnit commented 8 years ago

Hello binux,

I just killed and started the fetcher processes without reboot my server. But, the error still raised. I'm using Python 2.7.6.

What should I do now? Thanks,

binux commented 8 years ago

Could you use the first snippet in http://pycurl.readthedocs.org/en/latest/quickstart.html to fetch the url using pycurl test if it work?

phongtnit commented 8 years ago

Hi binux,

I wrote test.py file with the content:

import pycurl
from StringIO import StringIO

buffer = StringIO()
c = pycurl.Curl()
c.setopt(c.URL, 'https://www.ebooks-it.net')
c.setopt(c.WRITEDATA, buffer)
c.perform()
c.close()

body = buffer.getvalue()
# Body is a string in some encoding.
# In Python 2, we can print it without knowing what the encoding is.
print(body)

I ran test.py and the result is:

#python test.py
<!DOCTYPE html>
<!--[if lt IE 7]> <html class="no-js ie6 oldie" lang="en-US"> <![endif]-->
<!--[if IE 7]>    <html class="no-js ie7 oldie" lang="en-US"> <![endif]-->
<!--[if IE 8]>    <html class="no-js ie8 oldie" lang="en-US"> <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="en-US"> <!--<![endif]-->
<head>
<title>Access denied | www.ebooks-it.net used CloudFlare to restrict access</title>
<meta charset="UTF-8" />
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1" />
<meta name="robots" content="noindex, nofollow" />
<meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1" />
....

It shows that the script works without error like pyspider script. However, the site used Cloudflare service, so I need capture the captcha and bypass.

binux commented 8 years ago

pycurl is working, that's really strange. Could you test the following snippet:

from pyspider.fetcher import Fetcher
Fetcher(None, None, async=False).fetch({'url': 'https://www.ebooks-it.net'})

BTW: the capture is mainly because the User-Agent header in the request, that should not be an issue if pyspider works. EDIT: BTW2: if you got this error from webui, you need restart webui as well.

phongtnit commented 8 years ago

Hi binux,

I changed your code to print the result of the fetcher, so the code was:

from pyspider.fetcher import Fetcher
print Fetcher(None, None, async=False).fetch({'url': 'https://www.ebooks-it.net'})

The result of executing the code:

root@xxx:~# nano test_pyspider.py
root@xxx:~# chmod +x test_pyspider.py
root@xxx:~# python test_pyspider.py
({'url': 'https://www.ebooks-it.net'}, {u'cookies': {'PHPSESSID': '9e1eb2a5f3de40bddc8626980c90ed32', '__cfduid': 'd7ef0ef959cf827277dcc7bb2c14373131452485255'}, u'url': 'https://www.ebooks-it.net/', u'orig_url': 'https://www.ebooks-it.net', u'time': 2.0591320991516113, u'content': '<!DOCTYPE html>\n<!--[if lt IE 7]><html class="no-js lt-ie9 lt-ie8 lt-ie7" lang="en"><![endif]-->\n<!--[if IE 7]><html class="no-js lt-ie9 lt-ie8" lang="en""><![endif]-->\n<!--[if IE 8]><html class="no-js lt-ie9" lang="en"><![endif]-->\n<!--[if gt IE 8]><!--><html class="no-js" lang="en"><!--<![endif]-->\n<head>\n<meta charset="utf-8">\n<title>IT eBooks - Free Download ebooks</title>\n<link rel="shortcut icon" href="/favicon.ico"/>\n<meta name="description" content="At this site, you can find informtion about ebooks, publishers and authors. Programming, Telecommunications, Networking, Microsoft Office, Databases, Digital Signal Processing, Certification, Java, PHP, Python, etc.">\n<meta name="viewport" content="width=device-width, initial-scale=1">\n<link href=\'//fonts.googleapis.com/css?family=Open+Sans:700,300,600,400\' rel=\'stylesheet\' type=\'text/css\'>\n<link rel="stylesheet" href="/css/normalize.css">\n<link rel="stylesheet" href="/v/css/bootstrap.min.css">\n<link rel="stylesheet" href="/css/main.css">\n<link href="https://plus.google.com/101353333396901708073" rel="publisher"/>\n</head>\n<body>\n<nav class="navbar navbar-inverse ">\n<div class="container">\n<div class="navbar-header">\n<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">\n<span class="sr-only">Toggle navigation</span>\n<span class="icon-bar"></span>\n<span class="icon-bar"></span>\n<span class="icon-bar"></span>\n</button>\n<a class="navbar-brand logo" title="IT eBooks" href="https://www.ebooks-it.net/"><h1 style="font-weight: 700;">IT eBooks</h1></a>\n</div>\n<div id="navbar" class="navbar-collapse collapse">\n<form action="https://www.ebooks-it.net/search/" method="post" target="_self" class="navbar-form navbar-right searchform" novalidate="novalidate">\n<div class="clearfix ">\n<button type="submit" class="btn pull-right">Search</button>\n<input type="text" id="form_word" name="form[word]" class="form-control pull-right"/>\n</div>\n<div class="type clearfix">\n<div id="form_type"><input type="radio" id="form_type_0" name="form[type]" required="required" value="title" checked="checked"/><label for="form_type_0" class="required">Title</label><input type="radio" id="form_type_1" name="form[type]" required="required" value="tag"/><label for="form_type_1" class="required">Tag</label><input type="radio" id="form_type_2" name="form[type]" required="required" value="author"/><label for="form_type_2" class="required">Author</label><input type="radio" id="form_type_3" name="form[type]" required="required" value="isbn"/><label for="form_type_3" class="required">ISBN</label><input type="radio" id="form_type_4" name="form[type]" required="required" value="google"/><label for="form_type_4" class="required">Google</label></div>\n<label class="required">Search eBook by</label>\n</div>\n<input type="hidden" id="form__token" name="form[_token]" value="977a780d9829466e7597ee86d6f18e28d694fa36"/>\n</form>\n</div>\n</div>\n</nav>\n<div class="container">\n<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>\n<div style="margin-top:20px;">\n<div class="row">\n<div class="header clearfix">\n<div class="col-xs-11 col-sm-4">\n<h2>New eBooks</h2>\n</div>\n<div class="col-xs-1 col-sm-8">\n<div style="padding-top:34px; text-align: right">\n<style type="text/css">.adslot_2{width:468px;height:15px}@media (max-width:680px) {.adslot_2{display:none!important;}}</style>\n<ins class="adsbygoogle adslot_2" style="display:inline-block;" data-ad-client="ca-pub-9472364029129074" data-ad-slot="2313601347"></ins>\n<script>\n  (adsbygoogle = window.adsbygoogle || []).push({});\n</script>\n</div>\n</div>\n</div>\n<div class="homepage clearfix">\n<div class="col-md-6 col-sm-6">\n<div class="item" style="margin-bottom: 20px;">\n<div class="row">\n<div class="col-xs-3 col-sm-3">\n<a title="Genetic Algorithms in Java Basics" href="https://www.ebooks-it.net/ebook/genetic-algorithms-in-java-basics"><img class="img-polaroid img-responsive" alt="Genetic Algorithms in Java Basics" src="/images/books/thumbs/2015-genetic_algorithms_in_java_basics.jpg"/></a>\n<div id="rating" class="stat" style="margin: 5px 0 0 0px; text-align: center">\n<div class="statVal">\n<span class="ui-rater">\n<span class="ui-rater-starsOff" style="width:90px;">\n<span class="ui-rater-starsOn" style="width:90px"></span>\n</span>\n</span>\n(2)\n</div>\n&nbsp;\n</div>\n</div>\n<div class="col-xs-9 col-sm-9">\n<h3><a title="Genetic Algorithms in Java Basics" style="font-size:14px; font-weight: 500" href="https://www.ebooks-it.net/ebook/genetic-algorithms-in-java-basics">Genetic Algorithms in Java Basics</a></h3>\nGenetic Algorithms in Java Basics is a brief introduction to solving problems using genetic algorithms, with working projects and solutions written in the Java programming language. This brief book will guide you step-by-step through various implemen... <a title="Genetic Algorithms in Java Basics" class="more" href="https://www.ebooks-it.net/ebook/genetic-algorithms-in-java-basics">more &raquo;</a>\n</div>\n</div>\n</div>\n</div>\n<div class="col-md-6 col-sm-6">\n<div class="item" style="margin-bottom: 20px;">\n<div class="row">\n<div class="col-xs-3 col-sm-3">\n<a title="Pro PowerShell for Microsoft Azure" href="https://www.ebooks-it.net/ebook/pro-powershell-for-microsoft-azure"><img class="img-polaroid img-responsive" alt="Pro PowerShell for Microsoft Azure" src="/images/books/thumbs/2015-pro_powershell_for_microsoft_azure.jpg"/></a>\n<div style="height: 40px;;"></div>\n</div>\n<div class="col-xs-9 col-sm-9">\n<h3><a title="Pro PowerShell for Microsoft Azure" style="font-size:14px; font-weight: 500" href="https://www.ebooks-it.net/ebook/pro-powershell-for-microsoft-azure">Pro PowerShell for Microsoft Azure</a></h3>\nThis book is written for Windows professionals who are familiar with PowerShell and want to learn to build, operate, and administer their Windows workloads in the Microsoft cloud. Pro PowerShell for Microsoft Azure is packed with practical examples a... <a title="Pro PowerShell for Microsoft Azure" class="more" href="https://www.ebooks-it.net/ebook/pro-powershell-for-microsoft-azure">more &raquo;</a>\n</div>\n</div>\n</div>\n</div>\n<div class="col-xs-12">\n<div style="border-bottom: 1px solid #eeeeee;border-top:1px solid #eee; padding-top: 20px;margin-bottom:20px;padding-bottom:20px;">\n<div style="text-align: center">\n<style type="text/css">.adslot_1{width:320px;height:100px;}@media (min-width:500px) {.adslot_1{width:468px;height:60px;}}@media (min-width:800px) {.adslot_1{width:728px;height:90px;}}</style>\n<ins class="adsbygoogle adslot_1" style="display:inline-block;" data-ad-client="ca-pub-9472364029129074" data-ad-slot="4550874147" data-ad-format="horizontal"></ins>\n<script>\n\t\t\t\t\t\t\t  (adsbygoogle = window.adsbygoogle || []).push({});\n\t\t\t\t\t\t\t</script>\n</div>\n</div>\n</div>\n<div class="col-md-6 col-sm-6">\n<div class="item" style="margin-bottom: 20px;">\n<div class="row">\n<div class="col-xs-3 col-sm-3">\n<a title="Databases for Small Business" href="https://www.ebooks-it.net/ebook/databases-for-small-business"><img class="img-polaroid img-responsive" alt="Databases for Small Business" src="/images/books/thumbs/2015-databases_for_small_business.jpg"/></a>\n<div style="height: 40px;;"></div>\n</div>\n<div class="col-xs-9 col-sm-9">\n<h3><a title="Databases for Small Business" style="font-size:14px; font-weight: 500" href="https://www.ebooks-it.net/ebook/databases-for-small-business">Databases for Small Business</a></h3>\nThis book covers the practical aspects of database design, data cleansing, data analysis, and data protection, among others. The focus is on what you really need to know to create the right database for your small business and to leverage it most eff... <a title="Databases for Small Business" class="more" href="https://www.ebooks-it.net/ebook/databases-for-small-business">more &raquo;</a>\n</div>\n</div>\n</div>\n</div>\n<div class="col-md-6 col-sm-6">\n<div class="item" style="margin-bottom: 20px;">\n<div class="row">\n<div class="col-xs-3 col-sm-3">\n<a title="Practical Sitecore 8 Configuration and Strategy" href="https://www.ebooks-it.net/ebook/practical-sitecore-8-configuration-and-strategy"><img class="img-polaroid img-responsive" alt="Practical Sitecore 8 Configuration and Strategy" src="/images/books/thumbs/2015-practical_sitecore_8_configuration_and_strategy.jpg"/></a>\n<div style="height: 40px;;"></div>\n</div>\n<div class="col-xs-9 col-sm-9">\n<h3><a title="Practical Sitecore 8 Configuration and Strategy" style="font-size:14px; font-weight: 500" href="https://www.ebooks-it.net/ebook/practical-sitecore-8-configuration-and-strategy">Practical Sitecore 8 Configuration and Strategy</a></h3>\nPractical Sitecore 8 Configuration and Strategy: A User Guide for Sitecore&#039;s Content and Marketing Capabilities offers a comprehensive overview of Sitecore&#039;s web content management solutions, and provides step-by-step guidance for configuring Sitecor... <a title="Practical Sitecore 8 Configuration and Strategy" class="more" href="https://www.ebooks-it.net/ebook/practical-sitecore-8-configuration-and-strategy">more &raquo;</a>\n</div>\n</div>\n</div>\n</div>\n<div class="col-xs-12">\n<div style="border-bottom: 1px solid #eeeeee;margin-bottom:20px;">\n</div>\n</div>\n<div class="col-md-6 col-sm-6">\n<div class="item" style="margin-bottom: 20px;">\n<div class="row">\n<div class="col-xs-3 col-sm-3">\n<a title="Pivotal Certified Spring Web Application Developer Exam" href="https://www.ebooks-it.net/ebook/pivotal-certified-spring-web-application-developer-exam"><img class="img-polaroid img-responsive" alt="Pivotal Certified Spring Web Application Developer Exam" src="/images/books/thumbs/2015-pivotal_certified_spring_web_application_developer_exam.jpg"/></a>\n<div style="height: 40px;;"></div>\n</div>\n<div class="col-xs-9 col-sm-9">\n<h3><a title="Pivotal Certified Spring Web Application Developer Exam" style="font-size:14px; font-weight: 500" href="https://www.ebooks-it.net/ebook/pivotal-certified-spring-web-application-developer-exam">Pivotal Certified Spring Web Application Developer Exam</a></h3>\nPrepare for the Pivotal Certified Spring Web Application Developer exam and learn about Spring MVC DispatcherServlet configuration, Spring MVC programming model essentials, Spring MVC views and form processing, Spring Web Flow essentials, and Spring ... <a title="Pivotal Certified Spring Web Application Developer Exam" class="more" href="https://www.ebooks-it.net/ebook/pivotal-certified-spring-web-application-developer-exam">more &raquo;</a>\n</div>\n</div>\n</div>\n</div>\n<div class="col-md-6 col-sm-6">\n<div class="item" style="margin-bottom: 20px;">\n<div class="row">\n<div class="col-xs-3 col-sm-3">\n<a title="Pivotal Certified Spring Enterprise Integration Specialist Exam" href="https://www.ebooks-it.net/ebook/pivotal-certified-spring-enterprise-integration-specialist-exam"><img class="img-polaroid img-responsive" alt="Pivotal Certified Spring Enterprise Integration Specialist Exam" src="/images/books/thumbs/2015-pivotal_certified_spring_enterprise_integration_specialist_exam.jpg"/></a>\n<div style="height: 40px;;"></div>\n</div>\n<div class="col-xs-9 col-sm-9">\n<h3><a title="Pivotal Certified Spring Enterprise Integration Specialist Exam" style="font-size:14px; font-weight: 500" href="https://www.ebooks-it.net/ebook/pivotal-certified-spring-enterprise-integration-specialist-exam">Pivotal Certified Spring Enterprise Integration Specialist Exam</a></h3>\nExam topics covered include tasks and scheduling, remoting, the Spring Web Services framework, RESTful services with Spring MVC, the Spring JMS module, JMS and JTA transactions with Spring, batch processing with Spring Batch and the Spring Integratio... <a title="Pivotal Certified Spring Enterprise Integration Specialist Exam" class="more" href="https://www.ebooks-it.net/ebook/pivotal-certified-spring-enterprise-integration-specialist-exam">more &raquo;</a>\n</div>\n</div>\n</div>\n</div>\n<div class="col-xs-12">\n<div style="border-bottom: 1px solid #eeeeee;margin-bottom:20px;">\n</div>\n</div>\n<div class="col-md-6 col-sm-6">\n<div class="item" style="margin-bottom: 20px;">\n<div class="row">\n<div class="col-xs-3 col-sm-3">\n<a title="Entertainment Apps on the Go with Windows 10" href="https://www.ebooks-it.net/ebook/entertainment-apps-on-the-go-with-windows-10"><img class="img-polaroid img-responsive" alt="Entertainment Apps on the Go with Windows 10" src="/images/books/thumbs/2015-entertainment_apps_on_the_go_with_windows_10.jpg"/></a>\n<div style="height: 40px;;"></div>\n</div>\n<div class="col-xs-9 col-sm-9">\n<h3><a title="Entertainment Apps on the Go with Windows 10" style="font-size:14px; font-weight: 500" href="https://www.ebooks-it.net/ebook/entertainment-apps-on-the-go-with-windows-10">Entertainment Apps on the Go with Windows 10</a></h3>\nThis book enables you to unleash the entertainment potential of your Windows 10 PC, tablet, or phone - or any combination of the three! Learn how to stream movies and TV shows, manage your media collection, purchase new media, and upload your music c... <a title="Entertainment Apps on the Go with Windows 10" class="more" href="https://www.ebooks-it.net/ebook/entertainment-apps-on-the-go-with-windows-10">more &raquo;</a>\n</div>\n</div>\n</div>\n</div>\n<div class="col-md-6 col-sm-6">\n<div class="item" style="margin-bottom: 20px;">\n<div class="row">\n<div class="col-xs-3 col-sm-3">\n<a title="Linux and Solaris Recipes for Oracle DBAs, 2nd Edition" href="https://www.ebooks-it.net/ebook/linux-and-solaris-recipes-for-oracle-dbas-2nd-edition"><img class="img-polaroid img-responsive" alt="Linux and Solaris Recipes for Oracle DBAs, 2nd Edition" src="/images/books/thumbs/2015-linux_and_solaris_recipes_for_oracle_dbas_2nd_edition.jpg"/></a>\n<div id="rating" class="stat" style="margin: 5px 0 0 0px; text-align: center">\n<div class="statVal">\n<span class="ui-rater">\n<span class="ui-rater-starsOff" style="width:90px;">\n<span class="ui-rater-starsOn" style="width:0px"></span>\n</span>\n</span>\n(1)\n</div>\n&nbsp;\n</div>\n</div>\n<div class="col-xs-9 col-sm-9">\n<h3><a title="Linux and Solaris Recipes for Oracle DBAs, 2nd Edition" style="font-size:14px; font-weight: 500" href="https://www.ebooks-it.net/ebook/linux-and-solaris-recipes-for-oracle-dbas-2nd-edition">Linux and Solaris Recipes for Oracle DBAs, 2nd Edition</a></h3>\nLinux and Solaris Recipes for Oracle DBAs, 2nd Edition is an example\xe2\x80\x93based book on managing Oracle Database under Linux and Solaris. The book is written for database administrators who need to get work done and lack the luxury of curling up fireside ... <a title="Linux and Solaris Recipes for Oracle DBAs, 2nd Edition" class="more" href="https://www.ebooks-it.net/ebook/linux-and-solaris-recipes-for-oracle-dbas-2nd-edition">more &raquo;</a>\n</div>\n</div>\n</div>\n</div>\n<div class="col-xs-12">\n<div style="border-bottom: 1px solid #eeeeee;margin-bottom:20px;">\n</div>\n</div>\n<div class="col-md-6 col-sm-6">\n<div class="item" style="margin-bottom: 20px;">\n<div class="row">\n<div class="col-xs-3 col-sm-3">\n<a title="Exploring the Raspberry Pi 2 with C++" href="https://www.ebooks-it.net/ebook/exploring-the-raspberry-pi-2-with-c"><img class="img-polaroid img-responsive" alt="Exploring the Raspberry Pi 2 with C++" src="/images/books/thumbs/2015-exploring_the_raspberry_pi_2_with_c.jpg"/></a>\n<div id="rating" class="stat" style="margin: 5px 0 0 0px; text-align: center">\n<div class="statVal">\n<span class="ui-rater">\n<span class="ui-rater-starsOff" style="width:90px;">\n<span class="ui-rater-starsOn" style="width:90px"></span>\n</span>\n</span>\n(1)\n</div>\n&nbsp;\n</div>\n</div>\n<div class="col-xs-9 col-sm-9">\n<h3><a title="Exploring the Raspberry Pi 2 with C++" style="font-size:14px; font-weight: 500" href="https://www.ebooks-it.net/ebook/exploring-the-raspberry-pi-2-with-c">Exploring the Raspberry Pi 2 with C++</a></h3>\nYou have a Pi 2, but what exactly can you do with it? This book takes you on a tour of the Pi 2 hardware and all of the fantastic things that you can do to create innovative and useful projects with your Pi. Start with creating a workstation that doe... <a title="Exploring the Raspberry Pi 2 with C++" class="more" href="https://www.ebooks-it.net/ebook/exploring-the-raspberry-pi-2-with-c">more &raquo;</a>\n</div>\n</div>\n</div>\n</div>\n<div class="col-md-6 col-sm-6">\n<div class="item" style="margin-bottom: 20px;">\n<div class="row">\n<div class="col-xs-3 col-sm-3">\n<a title="Predictive Analytics with Microsoft Azure Machine Learning, 2nd Edition" href="https://www.ebooks-it.net/ebook/predictive-analytics-with-microsoft-azure-machine-learning-2nd-edition"><img class="img-polaroid img-responsive" alt="Predictive Analytics with Microsoft Azure Machine Learning, 2nd Edition" src="/images/books/thumbs/2015-predictive_analytics_with_microsoft_azure_machine_learning_2nd_edition.jpg"/></a>\n<div id="rating" class="stat" style="margin: 5px 0 0 0px; text-align: center">\n<div class="statVal">\n<span class="ui-rater">\n<span class="ui-rater-starsOff" style="width:90px;">\n<span class="ui-rater-starsOn" style="width:81px"></span>\n</span>\n</span>\n(6)\n</div>\n&nbsp;\n</div>\n</div>\n<div class="col-xs-9 col-sm-9">\n<h3><a title="Predictive Analytics with Microsoft Azure Machine Learning, 2nd Edition" style="font-size:14px; font-weight: 500" href="https://www.ebooks-it.net/ebook/predictive-analytics-with-microsoft-azure-machine-learning-2nd-edition">Predictive Analytics with Microsoft Azure Machine Learning, 2nd Edition</a></h3>\nPredictive Analytics with Microsoft Azure Machine Learning, Second Edition is a practical tutorial introduction to the field of data science and machine learning, with a focus on building and deploying predictive models. The book provides a thorough ... <a title="Predictive Analytics with Microsoft Azure Machine Learning, 2nd Edition" class="more" href="https://www.ebooks-it.net/ebook/predictive-analytics-with-microsoft-azure-machine-learning-2nd-edition">more &raquo;</a>\n</div>\n</div>\n</div>\n</div>\n<div class="col-xs-12">\n<div style="border-bottom: 1px solid #eeeeee;margin-bottom:20px;">\n</div>\n</div>\n</div>\n<div class="header clearfix">\n<div class="col-sm-12">\n<h2 class="pull-left">Most Popular eBooks</h2>\n</div>\n</div>\n<div class="homepage clearfix">\n<div class="col-md-6 col-sm-6">\n<div class="item" style="margin-bottom: 20px;">\n<div class="row">\n<div class="col-xs-3">\n<a title="Head First Java, 2nd Edition" href="https://www.ebooks-it.net/ebook/head-first-java-2nd-edition"><img class="img-polaroid img-responsive" alt="Head First Java, 2nd Edition" src="/images/books/thumbs/head_first_java_second_edition.jpg"/></a>\n<div id="rating" class="stat" style="margin: 5px 0 0 0px; text-align: center">\n<div class="statVal" style="position: absolute">\n<span class="ui-rater">\n<span class="ui-rater-starsOff" style="width:90px;">\n<span class="ui-rater-starsOn" style="width:74.88px"></span>\n</span>\n</span>\n(946)\n</div>\n&nbsp;\n</div>\n</div>\n<div class="col-xs-9">\n<h3><a title="Head First Java, 2nd Edition" style="font-size:14px; font-weight: 500" href="https://www.ebooks-it.net/ebook/head-first-java-2nd-edition">Head First Java, 2nd Edition</a></h3>\nHead First Java delivers a highly interactive, multisensory learning experience that lets new programmers pick up the fundamentals of the Java language quickly. Through mind-stretching exercises, memorable analogies, humorous pictures, and casual la... <a title="Head First Java, 2nd Edition" class="more" href="https://www.ebooks-it.net/ebook/head-first-java-2nd-edition">more &raquo;</a>\n</div>\n</div>\n</div>\n</div>\n<div class="col-md-6 col-sm-6">\n<div class="item" style="margin-bottom: 20px;">\n<div class="row">\n<div class="col-xs-3">\n<a title="Clean Code" href="https://www.ebooks-it.net/ebook/clean-code"><img class="img-polaroid img-responsive" alt="Clean Code" src="/images/books/thumbs/clean_code.jpg"/></a>\n<div id="rating" class="stat" style="margin: 5px 0 0 0px; text-align: center">\n<div class="statVal" style="position: absolute">\n<span class="ui-rater">\n<span class="ui-rater-starsOff" style="width:90px;">\n<span class="ui-rater-starsOn" style="width:75.78px"></span>\n</span>\n</span>\n(311)\n</div>\n&nbsp;\n</div>\n</div>\n<div class="col-xs-9">\n<h3><a title="Clean Code" style="font-size:14px; font-weight: 500" href="https://www.ebooks-it.net/ebook/clean-code">Clean Code</a></h3>\nEven bad code can function. But if code isn&#039;t clean, it can bring a development organization to its knees. Every year, countless hours and significant resources are lost because of poorly written code. But it doesn&#039;t have to be that way.\nWhat kind o... <a title="Clean Code" class="more" href="https://www.ebooks-it.net/ebook/clean-code">more &raquo;</a>\n</div>\n</div>\n</div>\n</div>\n<div class="col-md-6 col-sm-6">\n<div class="item" style="margin-bottom: 20px;">\n<div class="row">\n<div class="col-xs-3">\n<a title="Algorithms, 4th Edition" href="https://www.ebooks-it.net/ebook/algorithms-4th-edition"><img class="img-polaroid img-responsive" alt="Algorithms, 4th Edition" src="/images/books/thumbs/algorithms_4th_edition.jpg"/></a>\n<div id="rating" class="stat" style="margin: 5px 0 0 0px; text-align: center">\n<div class="statVal" style="position: absolute">\n<span class="ui-rater">\n<span class="ui-rater-starsOff" style="width:90px;">\n<span class="ui-rater-starsOn" style="width:75.42px"></span>\n</span>\n</span>\n(231)\n</div>\n&nbsp;\n</div>\n</div>\n<div class="col-xs-9">\n<h3><a title="Algorithms, 4th Edition" style="font-size:14px; font-weight: 500" href="https://www.ebooks-it.net/ebook/algorithms-4th-edition">Algorithms, 4th Edition</a></h3>\nThe latest version of Sedgewick&#039;s best-selling series, reflecting an indispensable body of knowledge developed over the past several decades.\nFull treatment of data structures and algorithms for sorting, searching, graph processing, and string proce... <a title="Algorithms, 4th Edition" class="more" href="https://www.ebooks-it.net/ebook/algorithms-4th-edition">more &raquo;</a>\n</div>\n</div>\n</div>\n</div>\n<div class="col-md-6 col-sm-6">\n<div class="item" style="margin-bottom: 20px;">\n<div class="row">\n<div class="col-xs-3">\n<a title="Head First SQL" href="https://www.ebooks-it.net/ebook/head-first-sql"><img class="img-polaroid img-responsive" alt="Head First SQL" src="/images/books/thumbs/head_first_sql.jpg"/></a>\n<div id="rating" class="stat" style="margin: 5px 0 0 0px; text-align: center">\n<div class="statVal" style="position: absolute">\n<span class="ui-rater">\n<span class="ui-rater-starsOff" style="width:90px;">\n<span class="ui-rater-starsOn" style="width:75.42px"></span>\n</span>\n</span>\n(252)\n</div>\n&nbsp;\n</div>\n</div>\n<div class="col-xs-9">\n<h3><a title="Head First SQL" style="font-size:14px; font-weight: 500" href="https://www.ebooks-it.net/ebook/head-first-sql">Head First SQL</a></h3>\nMaybe you&#039;ve written some simple SQL queries to interact with databases. But now you want more, you want to really dig into those databases and work with your data. Head First SQL will show you the fundamentals of SQL and how to really take advantage... <a title="Head First SQL" class="more" href="https://www.ebooks-it.net/ebook/head-first-sql">more &raquo;</a>\n</div>\n</div>\n</div>\n</div>\n<div class="col-md-6 col-sm-6">\n<div class="item" style="margin-bottom: 20px;">\n<div class="row">\n<div class="col-xs-3">\n<a title="Head First Design Patterns" href="https://www.ebooks-it.net/ebook/head-first-design-patterns"><img class="img-polaroid img-responsive" alt="Head First Design Patterns" src="/images/books/thumbs/head_first_design_patterns.jpg"/></a>\n<div id="rating" class="stat" style="margin: 5px 0 0 0px; text-align: center">\n<div class="statVal" style="position: absolute">\n<span class="ui-rater">\n<span class="ui-rater-starsOff" style="width:90px;">\n<span class="ui-rater-starsOn" style="width:83.52px"></span>\n</span>\n</span>\n(514)\n</div>\n&nbsp;\n</div>\n</div>\n<div class="col-xs-9">\n<h3><a title="Head First Design Patterns" style="font-size:14px; font-weight: 500" href="https://www.ebooks-it.net/ebook/head-first-design-patterns">Head First Design Patterns</a></h3>\nIf you&#039;ve read a Head First book, you know what to expect--a visually rich format designed for the way your brain works. Using the latest research in neurobiology, cognitive science, and learning theory, Head First Design Patterns will load patterns ... <a title="Head First Design Patterns" class="more" href="https://www.ebooks-it.net/ebook/head-first-design-patterns">more &raquo;</a>\n</div>\n</div>\n</div>\n</div>\n<div class="col-md-6 col-sm-6">\n<div class="item" style="margin-bottom: 20px;">\n<div class="row">\n<div class="col-xs-3">\n<a title="Head First HTML5 Programming" href="https://www.ebooks-it.net/ebook/head-first-html5-programming"><img class="img-polaroid img-responsive" alt="Head First HTML5 Programming" src="/images/books/thumbs/head_first_html5_programming.jpg"/></a>\n<div id="rating" class="stat" style="margin: 5px 0 0 0px; text-align: center">\n<div class="statVal" style="position: absolute">\n<span class="ui-rater">\n<span class="ui-rater-starsOff" style="width:90px;">\n<span class="ui-rater-starsOn" style="width:72.9px"></span>\n</span>\n</span>\n(158)\n</div>\n&nbsp;\n</div>\n</div>\n<div class="col-xs-9">\n<h3><a title="Head First HTML5 Programming" style="font-size:14px; font-weight: 500" href="https://www.ebooks-it.net/ebook/head-first-html5-programming">Head First HTML5 Programming</a></h3>\nHTML has been on a wild ride. Sure, HTML started as a mere markup language, but more recently HTML&#039;s put on some major muscle. Now we&#039;ve got a language tuned for building web applications with Web storage, 2D drawing, offline support, sockets and thr... <a title="Head First HTML5 Programming" class="more" href="https://www.ebooks-it.net/ebook/head-first-html5-programming">more &raquo;</a>\n</div>\n</div>\n</div>\n</div>\n<div class="col-md-6 col-sm-6">\n<div class="item" style="margin-bottom: 20px;">\n<div class="row">\n<div class="col-xs-3">\n<a title="Training Kit (Exam 70-462): Administering Microsoft SQL Server 2012 Databases" href="https://www.ebooks-it.net/ebook/training-kit-exam-70-462-administering-microsoft-sql-server-2012-databases"><img class="img-polaroid img-responsive" alt="Training Kit (Exam 70-462): Administering Microsoft SQL Server 2012 Databases" src="/images/books/thumbs/training_kit_exam_70-462_administering_microsoft_sql_server_2012_databases.jpg"/></a>\n<div id="rating" class="stat" style="margin: 5px 0 0 0px; text-align: center">\n<div class="statVal" style="position: absolute">\n<span class="ui-rater">\n<span class="ui-rater-starsOff" style="width:90px;">\n<span class="ui-rater-starsOn" style="width:73.8px"></span>\n</span>\n</span>\n(82)\n</div>\n&nbsp;\n</div>\n</div>\n<div class="col-xs-9">\n<h3><a title="Training Kit (Exam 70-462): Administering Microsoft SQL Server 2012 Databases" style="font-size:14px; font-weight: 500" href="https://www.ebooks-it.net/ebook/training-kit-exam-70-462-administering-microsoft-sql-server-2012-databases">Training Kit (Exam 70-462): Administering Microsoft SQL Server 2012 Databases</a></h3>\nAce your preparation for the skills measured by Exam 70-462\xe2\x80\x94and on the job - with this official Microsoft study guide. Work at your own pace through a series of lessons and reviews that fully cover each exam objective. Then, reinforce and apply what ... <a title="Training Kit (Exam 70-462): Administering Microsoft SQL Server 2012 Databases" class="more" href="https://www.ebooks-it.net/ebook/training-kit-exam-70-462-administering-microsoft-sql-server-2012-databases">more &raquo;</a>\n</div>\n</div>\n</div>\n</div>\n<div class="col-md-6 col-sm-6">\n<div class="item" style="margin-bottom: 20px;">\n<div class="row">\n<div class="col-xs-3">\n<a title="Lean UX" href="https://www.ebooks-it.net/ebook/lean-ux"><img class="img-polaroid img-responsive" alt="Lean UX" src="/images/books/thumbs/lean_ux.jpg"/></a>\n<div id="rating" class="stat" style="margin: 5px 0 0 0px; text-align: center">\n<div class="statVal" style="position: absolute">\n<span class="ui-rater">\n<span class="ui-rater-starsOff" style="width:90px;">\n<span class="ui-rater-starsOn" style="width:76.86px"></span>\n</span>\n</span>\n(88)\n</div>\n&nbsp;\n</div>\n</div>\n<div class="col-xs-9">\n<h3><a title="Lean UX" style="font-size:14px; font-weight: 500" href="https://www.ebooks-it.net/ebook/lean-ux">Lean UX</a></h3>\nInspired by Lean and Agile development theories, Lean UX lets you focus on the actual experience being designed, rather than deliverables. This book shows you how to collaborate closely with other members of the product team, and gather feedback earl... <a title="Lean UX" class="more" href="https://www.ebooks-it.net/ebook/lean-ux">more &raquo;</a>\n</div>\n</div>\n</div>\n</div>\n<div class="col-md-6 col-sm-6">\n<div class="item" style="margin-bottom: 20px;">\n<div class="row">\n<div class="col-xs-3">\n<a title="Java EE 7 Essentials" href="https://www.ebooks-it.net/ebook/java-ee-7-essentials"><img class="img-polaroid img-responsive" alt="Java EE 7 Essentials" src="/images/books/thumbs/java_ee_7_essentials.jpg"/></a>\n<div id="rating" class="stat" style="margin: 5px 0 0 0px; text-align: center">\n<div class="statVal" style="position: absolute">\n<span class="ui-rater">\n<span class="ui-rater-starsOff" style="width:90px;">\n<span class="ui-rater-starsOn" style="width:86.22px"></span>\n</span>\n</span>\n(33)\n</div>\n&nbsp;\n</div>\n</div>\n<div class="col-xs-9">\n<h3><a title="Java EE 7 Essentials" style="font-size:14px; font-weight: 500" href="https://www.ebooks-it.net/ebook/java-ee-7-essentials">Java EE 7 Essentials</a></h3>\nGet up to speed on the principal technologies in the Java Platform, Enterprise Edition 7, and learn how the latest version embraces HTML5, focuses on higher productivity, and provides functionality to meet enterprise demands. Written by Arun Gupta, a... <a title="Java EE 7 Essentials" class="more" href="https://www.ebooks-it.net/ebook/java-ee-7-essentials">more &raquo;</a>\n</div>\n</div>\n</div>\n</div>\n<div class="col-md-6 col-sm-6">\n<div class="item" style="margin-bottom: 20px;">\n<div class="row">\n<div class="col-xs-3">\n<a title="Data Science for Business" href="https://www.ebooks-it.net/ebook/data-science-for-business"><img class="img-polaroid img-responsive" alt="Data Science for Business" src="/images/books/thumbs/data_science_for_business.jpg"/></a>\n<div id="rating" class="stat" style="margin: 5px 0 0 0px; text-align: center">\n<div class="statVal" style="position: absolute">\n<span class="ui-rater">\n<span class="ui-rater-starsOff" style="width:90px;">\n<span class="ui-rater-starsOn" style="width:84.6px"></span>\n</span>\n</span>\n(81)\n</div>\n&nbsp;\n</div>\n</div>\n<div class="col-xs-9">\n<h3><a title="Data Science for Business" style="font-size:14px; font-weight: 500" href="https://www.ebooks-it.net/ebook/data-science-for-business">Data Science for Business</a></h3>\nWritten by renowned data science experts Foster Provost and Tom Fawcett, Data Science for Business introduces the fundamental principles of data science, and walks you through the &quot;data-analytic thinking&quot; necessary for extracting useful knowledge and... <a title="Data Science for Business" class="more" href="https://www.ebooks-it.net/ebook/data-science-for-business">more &raquo;</a>\n</div>\n</div>\n</div>\n</div>\n<div class="col-xs-12">\n<div class="clearfix">\n<div class="pull-left">\n<script type="text/javascript">\n\t\t\t\t\t\t  (function() {\n\t\t\t\t\t\t\tvar po = document.createElement(\'script\'); po.type = \'text/javascript\'; po.async = true;\n\t\t\t\t\t\t\tpo.src = \'https://apis.google.com/js/plusone.js?onload=onLoadCallback\';\n\t\t\t\t\t\t\tvar s = document.getElementsByTagName(\'script\')[0]; s.parentNode.insertBefore(po, s);\n\t\t\t\t\t\t  })();\n\t\t\t\t\t\t</script>\n<g:plusone></g:plusone>\n</div>\n<div class="pull-left" style="margin-top:2px;">\n<iframe src="//www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.ebooks-it.net%2F&amp;width&amp;layout=button_count&amp;action=like&amp;locale=en_US&amp;show_faces=false&amp;share=false&amp;height=21&amp;appId=1417393198508137" scrolling="no" frameborder="0" style="border:none; overflow:hidden; height:21px;" allowTransparency="true"></iframe>\n</div>\n</div>\n</div>\n</div>\n<div class="header clearfix">\n<div class="col-sm-12">\n<h2>Popular Tags</h2>\n</div>\n</div>\n<div class="col-sm-12">\n<div style="margin-bottom: 20px; margin-top: -10px">\n<a style="font-size: 9px" href="https://www.ebooks-it.net/tag/c/.net" title=".net eBooks">.net</a>\n<a style="font-size: 8px" href="https://www.ebooks-it.net/tag/c/actionscript" title="actionscript eBooks">actionscript</a>\n<a style="font-size: 8px" href="https://www.ebooks-it.net/tag/c/agile" title="agile eBooks">agile</a>\n<a style="font-size: 9px" href="https://www.ebooks-it.net/tag/c/android" title="android eBooks">android</a>\n<a style="font-size: 7px" href="https://www.ebooks-it.net/tag/c/asp" title="asp eBooks">asp</a>\n<a style="font-size: 8px" href="https://www.ebooks-it.net/tag/c/autocad" title="autocad eBooks">autocad</a>\n<a style="font-size: 8px" href="https://www.ebooks-it.net/tag/c/bash" title="bash eBooks">bash</a>\n<a style="font-size: 8px" href="https://www.ebooks-it.net/tag/c/basic" title="basic eBooks">basic</a>\n<a style="font-size: 8px" href="https://www.ebooks-it.net/tag/c/bsd" title="bsd eBooks">bsd</a>\n<a style="font-size: 8px" href="https://www.ebooks-it.net/tag/c/cisco" title="cisco eBooks">cisco</a>\n<a style="font-size: 7px" href="https://www.ebooks-it.net/tag/c/css" title="css eBooks">css</a>\n<a style="font-size: 8px" href="https://www.ebooks-it.net/tag/c/css3" title="css3 eBooks">css3</a>\n<a style="font-size: 7px" href="https://www.ebooks-it.net/tag/c/dart" title="dart eBooks">dart</a>\n<a style="font-size: 9px" href="https://www.ebooks-it.net/tag/c/database" title="database eBooks">database</a>\n<a style="font-size: 9px" href="https://www.ebooks-it.net/tag/c/design" title="design eBooks">design</a>\n<a style="font-size: 7px" href="https://www.ebooks-it.net/tag/c/dojo" title="dojo eBooks">dojo</a>\n<a style="font-size: 7px" href="https://www.ebooks-it.net/tag/c/drupal" title="drupal eBooks">drupal</a>\n<a style="font-size: 7px" href="https://www.ebooks-it.net/tag/c/eclipse" title="eclipse eBooks">eclipse</a>\n<a style="font-size: 7px" href="https://www.ebooks-it.net/tag/c/facebook" title="facebook eBooks">facebook</a>\n<a style="font-size: 8px" href="https://www.ebooks-it.net/tag/c/fedora" title="fedora eBooks">fedora</a>\n<a style="font-size: 7px" href="https://www.ebooks-it.net/tag/c/flex" title="flex eBooks">flex</a>\n<a style="font-size: 8px" href="https://www.ebooks-it.net/tag/c/framework" title="framework eBooks">framework</a>\n<a style="font-size: 7px" href="https://www.ebooks-it.net/tag/c/freebsd" title="freebsd eBooks">freebsd</a>\n<a style="font-size: 7px" href="https://www.ebooks-it.net/tag/c/games" title="games eBooks">games</a>\n<a style="font-size: 7px" href="https://www.ebooks-it.net/tag/c/git" title="git eBooks">git</a>\n<a style="font-size: 8px" href="https://www.ebooks-it.net/tag/c/hack" title="hack eBooks">hack</a>\n<a style="font-size: 9px" href="https://www.ebooks-it.net/tag/c/hacking" title="hacking eBooks">hacking</a>\n<a style="font-size: 8px" href="https://www.ebooks-it.net/tag/c/html" title="html eBooks">html</a>\n<a style="font-size: 8px" href="https://www.ebooks-it.net/tag/c/ibm" title="ibm eBooks">ibm</a>\n<a style="font-size: 7px" href="https://www.ebooks-it.net/tag/c/ide" title="ide eBooks">ide</a>\n<a style="font-size: 7px" href="https://www.ebooks-it.net/tag/c/iis" title="iis eBooks">iis</a>\n<a style="font-size: 8px" href="https://www.ebooks-it.net/tag/c/indesign" title="indesign eBooks">indesign</a>\n<a style="font-size: 7px" href="https://www.ebooks-it.net/tag/c/ios" title="ios eBooks">ios</a>\n<a style="font-size: 7px" href="https://www.ebooks-it.net/tag/c/ipad" title="ipad eBooks">ipad</a>\n<a style="font-size: 7px" href="https://www.ebooks-it.net/tag/c/iphone" title="iphone eBooks">iphone</a>\n<a style="font-size: 9px" href="https://www.ebooks-it.net/tag/c/java" title="java eBooks">java</a>\n<a style="font-size: 8px" href="https://www.ebooks-it.net/tag/c/javafx" title="javafx eBooks">javafx</a>\n<a style="font-size: 8px" href="https://www.ebooks-it.net/tag/c/javascript" title="javascript eBooks">javascript</a>\n<a style="font-size: 7px" href="https://www.ebooks-it.net/tag/c/jira" title="jira eBooks">jira</a>\n<a style="font-size: 7px" href="https://www.ebooks-it.net/tag/c/joomla" title="joomla eBooks">joomla</a>\n<a style="font-size: 8px" href="https://www.ebooks-it.net/tag/c/linux" title="linux eBooks">linux</a>\n<a style="font-size: 7px" href="https://www.ebooks-it.net/tag/c/lua" title="lua eBooks">lua</a>\n<a style="font-size: 7px" href="https://www.ebooks-it.net/tag/c/mac" title="mac eBooks">mac</a>\n<a style="font-size: 7px" href="https://www.ebooks-it.net/tag/c/matlab" title="matlab eBooks">matlab</a>\n<a style="font-size: 7px" href="https://www.ebooks-it.net/tag/c/media" title="media eBooks">media</a>\n<a style="font-size: 7px" href="https://www.ebooks-it.net/tag/c/mongodb" title="mongodb eBooks">mongodb</a>\n<a style="font-size: 8px" href="https://www.ebooks-it.net/tag/c/mvc" title="mvc eBooks">mvc</a>\n<a style="font-size: 8px" href="https://www.ebooks-it.net/tag/c/mysql" title="mysql eBooks">mysql</a>\n<a style="font-size: 7px" href="https://www.ebooks-it.net/tag/c/netbeans" title="netbeans eBooks">netbeans</a>\n<a style="font-size: 9px" href="https://www.ebooks-it.net/tag/c/network" title="network eBooks">network</a>\n<a style="font-size: 7px" href="https://www.ebooks-it.net/tag/c/node" title="node eBooks">node</a>\n<a style="font-size: 7px" href="https://www.ebooks-it.net/tag/c/nosql" title="nosql eBooks">nosql</a>\n<a style="font-size: 7px" href="https://www.ebooks-it.net/tag/c/numpy" title="numpy eBooks">numpy</a>\n<a style="font-size: 8px" href="https://www.ebooks-it.net/tag/c/nutshell" title="nutshell eBooks">nutshell</a>\n<a style="font-size: 7px" href="https://www.ebooks-it.net/tag/c/office" title="office eBooks">office</a>\n<a style="font-size: 7px" href="https://www.ebooks-it.net/tag/c/openbsd" title="openbsd eBooks">openbsd</a>\n<a style="font-size: 8px" href="https://www.ebooks-it.net/tag/c/oracle" title="oracle eBooks">oracle</a>\n<a style="font-size: 7px" href="https://www.ebooks-it.net/tag/c/outlook" title="outlook eBooks">outlook</a>\n<a style="font-size: 8px" href="https://www.ebooks-it.net/tag/c/patterns" title="patterns eBooks">patterns</a>\n<a style="font-size: 8px" href="https://www.ebooks-it.net/tag/c/perl" title="perl eBooks">perl</a>\n<a style="font-size: 8px" href="https://www.ebooks-it.net/tag/c/phone" title="phone eBooks">phone</a>\n<a style="font-size: 8px" href="https://www.ebooks-it.net/tag/c/photoshop" title="photoshop eBooks">photoshop</a>\n<a style="font-size: 8px" href="https://www.ebooks-it.net/tag/c/php" title="php eBooks">php</a>\n<a style="font-size: 30px" href="https://www.ebooks-it.net/tag/c/programming" title="programming eBooks">programming</a>\n<a style="font-size: 7px" href="https://www.ebooks-it.net/tag/c/rails" title="rails eBooks">rails</a>\n<a style="font-size: 8px" href="https://www.ebooks-it.net/tag/c/ruby" title="ruby eBooks">ruby</a>\n<a style="font-size: 8px" href="https://www.ebooks-it.net/tag/c/sdk" title="sdk eBooks">sdk</a>\n<a style="font-size: 8px" href="https://www.ebooks-it.net/tag/c/sharepoint" title="sharepoint eBooks">sharepoint</a>\n<a style="font-size: 7px" href="https://www.ebooks-it.net/tag/c/shell" title="shell eBooks">shell</a>\n<a style="font-size: 7px" href="https://www.ebooks-it.net/tag/c/soa" title="soa eBooks">soa</a>\n<a style="font-size: 7px" href="https://www.ebooks-it.net/tag/c/soap" title="soap eBooks">soap</a>\n<a style="font-size: 8px" href="https://www.ebooks-it.net/tag/c/sphinx" title="sphinx eBooks">sphinx</a>\n<a style="font-size: 7px" href="https://www.ebooks-it.net/tag/c/twitter" title="twitter eBooks">twitter</a>\n<a style="font-size: 8px" href="https://www.ebooks-it.net/tag/c/vb" title="vb eBooks">vb</a>\n<a style="font-size: 7px" href="https://www.ebooks-it.net/tag/c/webgl" title="webgl eBooks">webgl</a>\n<a style="font-size: 8px" href="https://www.ebooks-it.net/tag/c/windows" title="windows eBooks">windows</a>\n<a style="font-size: 7px" href="https://www.ebooks-it.net/tag/c/wordpress" title="wordpress eBooks">wordpress</a>\n<a style="font-size: 7px" href="https://www.ebooks-it.net/tag/c/wpf" title="wpf eBooks">wpf</a>\n<a style="font-size: 8px" href="https://www.ebooks-it.net/tag/c/xml" title="xml eBooks">xml</a>\n<a style="font-size: 7px" href="https://www.ebooks-it.net/tag/c/yahoo" title="yahoo eBooks">yahoo</a>\n</div>\n</div>\n</div>\n</div>\n</div>\n<footer class="footer">\n<div class="container">\n<div class="row-fluid">\n<div class="span6">\n<p class="copyright">\xc2\xa9 2016 <strong>IT eBooks</strong> | <a href="https://www.ebooks-it.net/contact/">Contact</a></p>\n</div>\n</div>\n</div>\n</footer>\n<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>\n<script>window.jQuery || document.write(\'<script src="/js/vendor/jquery-1.9.1.min.js"><\\/script>\')</script>\n<script src="/v/js/bootstrap.min.js"></script>\n<script src="/v/js/jquery.matchHeight-min.js"></script>\n<script src="/js/plugins.js"></script>\n<script src="/js/main.js"></script>\n<script src="/js/vendor/jquery.autocomplete.min.js"></script>\n<script src="/data-v15.js"></script>\n<style>.autocomplete-suggestions{border:1px solid #999;background:#FFF;cursor:default;overflow:auto;-webkit-box-shadow:1px 4px 3px rgba(50,50,50,0.64);-moz-box-shadow:1px 4px 3px rgba(50,50,50,0.64);box-shadow:1px 4px 3px rgba(50,50,50,0.64);}.autocomplete-suggestion{padding:2px 5px;white-space:nowrap;overflow:hidden;}.autocomplete-selected{background:#F0F0F0;}.autocomplete-suggestions strong{font-weight:normal;color:#3399FF;}</style>\n<script type="text/javascript">\n    \t\t$(\'#form_word\').autocomplete({\n    \t\t    lookup: title\n    \t\t});    \t\n    \t\t$(document).on(\'change\',\'input[name$="form[type]"]\',function(){\n                if (\'google\' != $(this).val()) {\n                    options = { lookup : eval($(this).val())};\n                    $(\'#form_word\').autocomplete().setOptions(options);\n                    $(\'.search-form\').attr(\'target\',\'_self\');\n                } else {\n                    $(\'.search-form\').attr(\'target\',\'_blank\');\n                }\n        \t});\n    \t\t</script>\n<script type="text/javascript">\n\t\t</script>\n<script type="text/javascript">\n\t    var _gaq = _gaq || [];\n\t    _gaq.push([\'_setAccount\', \'UA-6625656-8\']);\n\t    _gaq.push([\'_trackPageview\']);\n\t      \n\t    (function() {\n\t\tvar ga = document.createElement(\'script\'); ga.type = \'text/javascript\'; ga.async = true;\n\t        ga.src = (\'https:\' == document.location.protocol ? \'https://ssl\' : \'http://www\') + \'.google-analytics.com/ga.js\';\n                var s = document.getElementsByTagName(\'script\')[0]; s.parentNode.insertBefore(ga, s);\n              })();\n          </script>\n</body>\n</html>\n', u'headers': {'X-Http-Reason': 'OK', 'Content-Encoding': 'gzip', 'Transfer-Encoding': 'chunked', 'Set-Cookie': '__cfduid=d7ef0ef959cf827277dcc7bb2c14373131452485255; expires=Tue, 10-Jan-17 04:07:35 GMT; path=/; domain=.ebooks-it.net; HttpOnly,PHPSESSID=9e1eb2a5f3de40bddc8626980c90ed32; path=/', 'Expires': 'Thu, 19 Nov 1981 08:52:00 GMT', 'Vary': 'Accept-Encoding,User-Agent', 'Server': 'cloudflare-nginx', 'Connection': 'keep-alive', 'Pragma': 'no-cache', 'Cache-Control': 'no-store, no-cache, must-revalidate, post-check=0, pre-check=0, no-cache', 'Date': 'Mon, 11 Jan 2016 04:07:37 GMT', 'Cf-Ray': '262dc16d3efc2591-ORD', 'Content-Type': 'text/html; charset=UTF-8'}, u'status_code': 200, u'save': None})

Should I reboot my server? I restarted the fetcher only.

phongtnit commented 8 years ago

Hi binux,

Thanks for your BTW2 tip, the fetcher is working now after restarting webui process.

koorukuroo commented 8 years ago

Make a file ~/.curlrc with this line cacert=/etc/ssl/certs/ca-certificates.crt

Or sudo ln -s /etc/ssl/certs/ca-certificates.crt /etc/pki/tls/certs/ca-bundle.crt