<commit_before>"""
Simple Client Example for TAXII Service
"""
import libtaxii.messages_11 as tm11
from lxml import etree
import requests
import datetime
import OpenSSL
import uuid

print(__doc__)

###############################################################################
# TAXII Services API URLs #####################################################
###############################################################################
DISCOVERY = "http://taxiitest.mitre.org/services/discovery"
POLL = "http://taxiitest.mitre.org/services/poll/"

###############################################################################
# TAXII Binding ID's ##########################################################
###############################################################################
TAXII_SERVICES = "urn:taxii.mitre.org:services:1.1"
TAXII_PROTOCOL = "urn:taxii.mitre.org:protocol:http:1.0"
TAXII_MESSAGES = "urn:taxii.mitre.org:message:xml:1.1"

###############################################################################
# TAXII Discovery Request #####################################################
###############################################################################
message_id = 'steve-%s' % uuid.uuid4()
discovery_request = tm11.DiscoveryRequest(message_id)
discovery_xml = discovery_request.to_xml()
print discovery_request.to_text()

###############################################################################
# TAXII HTTP Request Binding ##################################################
###############################################################################
s = requests.Session()
headers = {
    'x-taxii-content-type': TAXII_MESSAGES,
    'x-taxii-protocol': TAXII_PROTOCOL,
    'content-type': 'application/xml',
    'accept': 'application/xml',}

req = requests.Request(method='POST', url=DISCOVERY,
                       auth=None, headers=headers,
                       data=discovery_xml)
http_post = req.prepare()

###############################################################################
# TAXII Request Submit & Receive ##############################################
###############################################################################
http_resp = s.send(http_post,
                   verify=None,
                   cert=None,
                   timeout=None)

###############################################################################
# Display HTTP Response #######################################################
###############################################################################
print('HTTP Response Status: ' + str(http_resp.status_code))
print('HTTP Response Header:')
for k, v in sorted(http_resp.headers.iteritems()):
    sep = (28 - len(k)) * ' '
    print('    %s: %s %s' % (k,sep,v))

###############################################################################
# Display TAXII Response ######################################################
###############################################################################
print('HTTP Response Body (TAXII Message): ')
taxii_response = tm11.get_message_from_xml(http_resp.text)
# print etree.tostring(taxii_response.to_etree(), pretty_print=True)
print taxii_response.to_text()

<commit_msg>Pep8 update<commit_after>"""
Simple Client Example for TAXII Service
"""
import libtaxii.messages_11 as tm11
from lxml import etree
import requests
import datetime
import OpenSSL
import uuid

print(__doc__)

###############################################################################
# TAXII Services API URLs #####################################################
###############################################################################
DISCOVERY = "http://taxiitest.mitre.org/services/discovery"
POLL = "http://taxiitest.mitre.org/services/poll/"

###############################################################################
# TAXII Binding ID's ##########################################################
###############################################################################
TAXII_SERVICES = "urn:taxii.mitre.org:services:1.1"
TAXII_PROTOCOL = "urn:taxii.mitre.org:protocol:http:1.0"
TAXII_MESSAGES = "urn:taxii.mitre.org:message:xml:1.1"

###############################################################################
# TAXII Discovery Request #####################################################
###############################################################################
message_id = 'steve-%s' % uuid.uuid4()
discovery_request = tm11.DiscoveryRequest(message_id)
discovery_xml = discovery_request.to_xml()
print discovery_request.to_text()

###############################################################################
# TAXII HTTP Request Binding ##################################################
###############################################################################
s = requests.Session()
headers = {
    'x-taxii-content-type': TAXII_MESSAGES,
    'x-taxii-protocol': TAXII_PROTOCOL,
    'content-type': 'application/xml',
    'accept': 'application/xml',}

req = requests.Request(method='POST', url=DISCOVERY,
                       auth=None, headers=headers,
                       data=discovery_xml)
http_post = req.prepare()

###############################################################################
# TAXII Request Submit & Receive ##############################################
###############################################################################
http_resp = s.send(http_post,
                   verify=None,
                   cert=None,
                   timeout=None)

###############################################################################
# Display HTTP Response #######################################################
###############################################################################
print('HTTP Response Status: ' + str(http_resp.status_code))
print('HTTP Response Header:')
for k, v in sorted(http_resp.headers.iteritems()):
    sep = (28 - len(k)) * ' '
    print('    %s: %s %s' % (k, sep, v))

###############################################################################
# Display TAXII Response ######################################################
###############################################################################
print('HTTP Response Body (TAXII Message): ')
taxii_response = tm11.get_message_from_xml(http_resp.text)
# print etree.tostring(taxii_response.to_etree(), pretty_print=True)
print(taxii_response.to_text())


{'fraction_non_alphanumeric': 0.5226888171050608, 'fraction_numerical': 0.005383787109675435, 'mean_word_length': 7.798376184032477, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 16}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5783180', 'n_tokens_mistral': 1543, 'n_tokens_neox': 1447, 'n_words': 248}