В соответствии с документацией для AppBarLayout
:
AppBarLayout также требует отдельного элемента прокрутки, чтобы знать, когда прокручивать. Привязка осуществляется с помощью класса поведения AppBarLayout.ScrollingViewBehavior, что означает, что вы должны установить поведение вашего прокручиваемого представления как экземпляр AppBarLayout.ScrollingViewBehavior.
blockquote>Если содержимое
ViewPager
не прокручивается, тогда нет «прокрутки родного брата». (Я предполагаю, что вы говорите, что содержимоеViewPager
не прокручивается, когда вы говорите «Я не использую какой-либо просмотр списка». )Если содержимое
ViewPager
не прокручивайте, тогда вы можете обернуть содержимоеViewPager
вNestedScrollView
примерно так:
Это то, что будет добавлено в
ViewPager
.
Вы можете попробовать сделать это с помощью getcode ()
из urllib
>>> print urllib.urlopen("http://www.stackoverflow.com").getcode()
>>> 200
РЕДАКТИРОВАТЬ: Для более современного python, например python3
, использование:
import urllib.request
print(urllib.request.urlopen("http://www.stackoverflow.com").getcode())
>>> 200
Запросы и httplib2 большие опции:
# Using requests.
import requests
request = requests.get(value)
if request.status_code == 200:
return True
return False
# Using httplib2.
import httplib2
try:
http = httplib2.Http()
response = http.request(value, 'HEAD')
if int(response[0]['status']) == 200:
return True
except:
pass
return False
При использовании Ansible, можно использовать функцию fetch_url:
from ansible.module_utils.basic import AnsibleModule
from ansible.module_utils.urls import fetch_url
module = AnsibleModule(
dict(),
supports_check_mode=True)
try:
response, info = fetch_url(module, url)
if info['status'] == 200:
return True
except Exception:
pass
return False
мои 2 цента
def getResponseCode(url):
conn = urllib.request.urlopen(url)
return conn.getcode()
if getResponseCode(url) != 200:
print('Wrong URL')
else:
print('Good URL')
Вы можете использовать httplib
import httplib
conn = httplib.HTTPConnection("www.python.org")
conn.request("HEAD", "/")
r1 = conn.getresponse()
print r1.status, r1.reason
распечатки
200 OK
Конечно, только если www.python.org
работает.
import httplib
import socket
import re
def is_website_online(host):
""" This function checks to see if a host name has a DNS entry by checking
for socket info. If the website gets something in return,
we know it's available to DNS.
"""
try:
socket.gethostbyname(host)
except socket.gaierror:
return False
else:
return True
def is_page_available(host, path="/"):
""" This function retreives the status code of a website by requesting
HEAD data from the host. This means that it only requests the headers.
If the host cannot be reached or something else goes wrong, it returns
False.
"""
try:
conn = httplib.HTTPConnection(host)
conn.request("HEAD", path)
if re.match("^[23]\d\d$", str(conn.getresponse().status)):
return True
except StandardError:
return None
Если под словом «вверх» вы просто имеете в виду «сервер обслуживает», тогда вы можете использовать cURL, и если вы получите ответ, то он работает.
Я не могу дать вам конкретного совет, потому что я не программист на Python, но вот ссылка на pycurl http://pycurl.sourceforge.net/ .
Объект HTTPConnection
из модуля httplib
в стандартной библиотеке, вероятно, поможет вам. Кстати, если вы начнете делать что-нибудь продвинутое с HTTP в Python, обязательно ознакомьтесь с httplib2
; это отличная библиотека.